窗体关闭、激活、最小化,等等,都属于Window Event。windowClosed是窗体被关闭后触发的事件;而windowClosing是用户试图关闭窗体时触发的事件。一个是窗体关闭后,一个是窗体关闭前。windowClosing中如果没有程序执行隐藏窗体或释放窗体内存的操作,则窗体关闭的动作将被认为无效。这下知道了吧?
解决方案 »
- 如何将byte[]中的内容转成字符哦
- Java多态的问题
- 反射类的IllegalAccessExceptionextends如何发生??
- 谁能给我举个自定义事件的例子啊 我都快哭了~
- 这个java小程序的输出为什么是这样?
- 代码块中有return语句,但是jBuilder老是说需要返回值。
- 经典难题,希望各位高手不惜赐教(CSDN群英会,群雄献策吧)
- 请教SWT中的Table, 为什么同类的button事件可以调用,其它类不能调用??
- JBuilder9好用吗?
- 请高手说说JAVA BEAN!!谢谢(我初学,呵呵,领教了。)
- 各位大虾,我刚刚接触java,遇到这样的问题
- UltraEdit为什么不能显示繁体中文?
dispose();
处理WINDOW_CLOSING消息
扩展WindowAdapter剪辑类
重载windowClosing(WindowEvent e)事件
public boolean handleEvent(Event evt){
if (evt.id == Event.WINDOW_DESTROY)//就是这个,WINDOW_DESTROY事件
System.exit(0);
return super.handleEvent(evt);
} public static void main(String[] args){
//这里要写成new test(),不要写成new Frame(),不然关不了窗口
Frame win = new test();
win.resize(100, 200);
win.show();
}
}
public void windowClosing(WindowEvent e) 在用户关闭窗口是触发,但是窗口并不一定关闭,若想关闭在里面调用dispose();若想取消关闭动作,就什么也别干。
public void windowClosed(WindowEvent e) 是在dispose以后被触发,在里面通常是做退出系统 System.exit(0);不过要提醒注意的是,JFrame里面有一个setDefaultCloseOperation(int)
int 可选
DO_NOTHING_ON_CLOSE 相当于Frame的事件处理,只是出发windowClosing,等用户处理
HIDE_ON_CLOSE 自动隐藏,非关闭,是JFrame的默认值
DISPOSE_ON_CLOSE 自动关闭
EXIT_ON_CLOSE 关闭并退出系统