frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "您确认要退出吗?",
"message提示", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(0);
} else if (choose == JOptionPane.NO_OPTION) {
return;//这里就不见了jframe,但是程序没有退出的。应该只是隐藏了。 我打印出visible属性是true
}
}
});

choose 有3个值,除了上面两个外还有用户直接点击关闭对话框按钮
JFrame关闭窗口的方法
public void setDefaultCloseOperation(int operation)
operation默认是 HIDE_ON_CLOSE
所以要用WindowListener则必须把operation设置为
DO_NOTHING_ON_CLOSE

参照API:
setDefaultCloseOperationpublic void setDefaultCloseOperation(int operation)
设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。
默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。
补充:
只需要添加或修改下面这行就行了
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

java jframe关闭窗口的更多相关文章

  1. selenium测试(Java)--关闭窗口(二十)

    quit方法:退出相关的驱动程序和关闭所有窗口 close方法:关闭当前窗口 package com.test.closewindow; import java.util.Iterator; impo ...

  2. Java JFrame图形界面 ----一个简单的窗口

    #开始 申请博客已经有一段时间了 但是一直没有时间写博文(其实还是懒虫侵蚀了大脑) 最近正在学习JFrame做窗口 遇到了很多的问题 为了解决问题也谋杀了很多的脑细胞 为了让更多的朋友不死的很多脑细胞 ...

  3. JAVA (1)–第一个GUI程序 添加标题 关闭窗口 屏幕位置 导入图标

      import java.awt.*; // 可以改成 import javax.swing.*; public class FirstFrame { public static void main ...

  4. JFrame Frame 窗口关闭

    JFrame是Frame的子类,即JFrame继承自Frame. JFrame是javax.swing.JFrame的类,Frame是java.awt.Frame的类. 类似的还有JButton.Bu ...

  5. 使用java语言编写窗口按钮

    使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...

  6. JFrame关闭程序就退出的设置

    要是实现JFrame 关闭后程就退出或者停止可以调用setDefaultCloseOperation() 方法. 入下图程序 package ltb6w; import javax.swing.*; ...

  7. easyui-window 关闭事件,只要关闭窗口就会触发

    $(function () {            $('#windowsMSG').window({                onBeforeClose: function () { //当 ...

  8. 让window.close不提示:您查看的网页正在试图关闭窗口。是否关闭此窗口?

    正常来说,当我们调用window.close来关闭从地址栏中打开的窗口时,IE会弹出提示说:您查看的网页正在试图关闭窗口,是否关闭此窗口? 你可以将window.close替换成下边的脚本,然后再测试 ...

  9. 实现关闭窗口IE不提示兼容火狐

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. window下搭建Python3.7+selenium3.1.1+pycharm环境

    1.安装Python3.7 1.1  下载 Python并安装 Python3.5 (勾选上 Add Python3.7 to PATH) 点击 Install Now,安装完成后将python路径加 ...

  2. _stat函数/struct stat 结构体使用笔记

    内容来自互联网,非原创,方便以后查看. 另,关于获取文件信息——_stat函数的使用详见 http://blog.csdn.net/frank_liuxing/article/details/1860 ...

  3. C实现头插法和尾插法来构建单链表(带头结点)

    我在之前一篇博客<C实现头插法和尾插法来构建单链表(不带头结点)>中具体实现了怎样使用头插法和尾插法来建立一个不带头结点的单链表,可是在实际使用中.我们用的最多的还是带头结点的单链表.今天 ...

  4. 使用AFNetworking第三方下载类

    AFNetworking 眼下使用比較多得一个下载库 眼下一直在维护更新,使用的是很easy 不须要加入不论什么关联的库  1.带block形式 内部是任务队列进行下载  就是对operation的一 ...

  5. Swift,Objective-C语言性能对照測试

    原文发表于踏得网 Swift包括了非常多现代语言特性尤其是从一些脚本语言如Javascript/Ruby中汲取了营养. 此外苹果公布Swift时,使用特别选用的一些样例来宣称Swift性能对于Ojbe ...

  6. Caffe-python interface 学习|网络训练、部署、測试

    继续python接口的学习.剩下还有solver.deploy文件的生成和模型的測试. 网络训练 solver文件生成 事实上我认为用python生成solver并不如直接写个配置文件,它不像net配 ...

  7. 怎样解除内容审查程序的password

    如题:怎样解除内容审查程序的password 在不知道password的情况下.通过改动注冊表解决.点击"開始"→"执行",输入"regedit&qu ...

  8. android常用控件的使用方法

    引言 xml很强大 TextView <TextView android:id="@+id/text_view" android:layout_width="mat ...

  9. [P3097] [USACO13DEC] [BZOJ4094] 最优挤奶Optimal Milking 解题报告(线段树+DP)

    题目链接:https://www.luogu.org/problemnew/show/P3097#sub 题目描述 Farmer John has recently purchased a new b ...

  10. [CQOI2009] 叶子的颜色 解题报告(树形DP)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1304 Description 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为 ...