JFrame,JDialog,JInternalFrame关闭的阻碍[Java编程]
本文“JFrame,JDialog,JInternalFrame关闭的阻碍[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有很多刚开始学Swing的人常常问JFrame关闭的时刻先询问下能否关闭,即弹出一个对话框让用户点击挑选YES或NO,其实略微进去查看源代码就可以找到答案.我们找到那边是发出关闭事件的地方,我们在那个地方举行拦阻便可以了,查看源代码可以知道在JFrame中有这么一个办法:
protected void processWindowEvent(WindowEvent e) {
//do Samething.............
}
这个办法一向追上去可以发现它是由Window类中派生出来的,我们先看一张图:
从图上看以看出我们常用的JFrame和JDialog都上由Window派生出来的,那么全部基于Window下的窗口点击关闭按钮都是在上述的那个办法中举行判断,那么我们重写那个办法,在里面举行拦阻如:
/** *//***
* 重写此办法让用户确认能否需求关闭
* */
@Override
protected void processWindowEvent(WindowEvent e) {
boolean flag = false;
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
//关闭的提醒挑选
int result= JOptionPane.showConfirmDialog(
this,
("确认要关闭吗?"),
("关闭"),
JOptionPane.YES_NO_OPTION);
if(result == JOptionPane.NO_OPTION){
//不关闭,系统托盘????
flag = true;
}else{
//关闭的处理
}
}
if(!flag){
//点击的了YES,那么交给上面去处理关闭的处理
super.processWindowEvent(e);
}
}
以上是“JFrame,JDialog,JInternalFrame关闭的阻碍[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |