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_java jframe关闭窗口相关推荐

  1. java的jframe隐藏窗口_JFrame Frame 窗口关闭

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

  2. java通过按钮打开新窗口_如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。...

    JButton btn=new JButton(new AbstractAction("关闭并打开") {      @Override   public void actionP ...

  3. Java GUI应用程序关闭陷阱

    最近,我遇到了一个或两个Java GUI应用程序在关闭时无法关闭的问题. 它们似乎是一个过程,消耗着计算机资源. 今天,我深入探究了问题的根源,这是一个我以前从未意识到的棘手问题,所以我想我会分享一下 ...

  4. h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...

    最近在使用微信.支付宝.百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息.当在错误页面的时候,点击返回 或者Android物理按键上一步的时候,将关闭页面. 在微信.支付宝 ...

  5. java 关闭 tomcat,每次关闭TOMCAT就报错 不知道什么?该如何处理

    当前位置:我的异常网» Java Web开发 » 每次关闭TOMCAT就报错 不知道什么?该如何处理 每次关闭TOMCAT就报错 不知道什么?该如何处理 www.myexceptions.net  网 ...

  6. 监听关闭页面事件 ajax,Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求

    网上很多博客说监听窗口关闭事件使用window.beforeunload,但是这个监听事件也会在页面刷新的时候执行,经过百度和自己的实际测试, 终于解决了这个问题,代码如下: mounted() { ...

  7. 如何关闭计算机服务检测,电脑知识:Win7系统如何关闭交互式服务检测窗口?...

    最近有Win7系统反映,电脑总是会弹出交互式服务检测窗口,无法关掉,只能"点击稍后提醒我",但一会儿又会提醒,这让人感觉很烦.其实,只要在系统服务里将Interactive Ser ...

  8. close函数 qt_QT5笔记:关闭应用程序和窗口的函数

    23333 QT一坨,求一门面向傻瓜的语言. QT中 quit(),exit()以及close():常用的三个槽 对主程序的退出,可以调用成员函数exit(),同时也可以调用槽quit(),二者此时都 ...

  9. js关闭当前页面/关闭当前窗口/移动端 代码

    原创地址:js关闭当前页面/关闭当前窗口/移动端 代码 function close(){ var userAgent = navigator.userAgent; if (userAgent.ind ...

最新文章

  1. 【BZOJ】4259: 残缺的字符串 FFT
  2. 8 分钟了解 Kubernetes
  3. shell脚本spawn_如何使用child_process.spawn将Python / Ruby / PHP Shell脚本与Node.js集成
  4. 95-847-042-源码-Netty-NettyServer创建
  5. .和- 区别(C++)
  6. 浙大 PAT b1036
  7. 应用程序拒绝访问_让你的ASP.NET Core应用程序更安全
  8. 订单接收不同业务消息设计
  9. 黑客使用浏览器中的浏览器技术窃取Steam凭证
  10. 谷歌ai人工智能叫什么_Google I / O 2017的“ AI First”口号
  11. Jacobi法求特征值特征向量
  12. 北京邮电大学计算机考研资料汇总
  13. mac Error: EACCES: permission denied, mkdir './cache'
  14. JS效果-灯箱效果-图片大图查看
  15. uniapp之自定义顶部样式
  16. python调用rarfile进行解压rar压缩包时,报了如下错误
  17. 链路聚合-负载分担方式
  18. excel离散度图表怎么算_excel离散数据表格-Excel 离散程度分析图表如何做
  19. 弘辽科技:优秀的淘宝详情页应包含哪些内容?
  20. 如何清空MSMQ的队列消息

热门文章

  1. 2022年重庆自考本科流程是怎样的?
  2. 数据库语句where、on、having的区别
  3. Linux 挂载移动硬盘
  4. 夜间环境人脸识别_动态人脸识别系统的优势
  5. Oracle AWR 报告的生成和分析
  6. Android中解压zip中文乱码处理
  7. 2012届华为校园招聘上机考试题目--成都
  8. Box2d中使用b2Separate开源代码创建凹多边形及其算法分析
  9. Vue v-on指令
  10. printk的执行过程