关闭窗口时弹对话框,点否就不关闭——的方法

  弹对话框的方法当然是让框架实现WindowListener,注意不是WindowsListener,然后重写windowClosing()方法,让窗口在正在关闭的时候弹一个窗口。

  一个窗口:

int answer = JOptionPane.showConfirmDialog(this, "blah", "blah", JOptionPane.YES_NO_OPTION);

  注意对话框是要静态引用的,不需要new一个JOptionPane出来。

  后面用answer来if一下就不用说了,都是静态属性,YES_OPTION,NO_OPTION,CANCEL_OPTION,之类之类的。

  然后Yes就System.exit(0)。

 

  不过No,或者说else要单独说一下,单纯return的话因为框架已经在关闭中了,关掉对话框框架还是会继续关闭,所以我们要打断它。

  打断狗腿:

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

  半路给它set一下。

  据我观察,直接在框架初始化的时候设置是没用的,大概这个方法是一次性的吧。

 

  于是顺道介绍一下setDefaultCloseOperation()这个方法。

  参数里面有几个选项可选:

  1. EXIT_ON_CLOSE:关闭时调用System.exit(),整个关闭虚拟机,也就是说整个进程都结束掉了,应该用在最外面的,也就是主框架上。

  2. HIDE_ON_CLOSE:隐藏框架,依然保留在内存里,没实际使用过,大概在别处setVisible()一下就可以让它显示出来。

  3. DISPOSE_ON_CLOSE:处置(?)框架,取消框架显示的同时释放掉框架所占资源,和HIDE的区别是能释放内存,进程还会继续运行,可以用于子窗口。

  4. DO_NOTHING_ON_CLOSE:顾名思义,什么也不干,设置成这个的话不管怎么点叉都关不掉。

转载于:https://www.cnblogs.com/chihane/p/3512808.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值