1. windowClosing是关闭时调用的
2. windowClosed是关闭状态下调用的,windowClosing使用方法dispose();方法可以自动调用windowClosed。
3. 如果windowClosing使用了System.exit(0); 由于退出了虚拟机,windowClosed不被调用。
看如下代码
package test;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Test extends Frame {
public Test(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
public void windowClosed(WindowEvent e) {
System.out.println("windowClosed方法被调用");
}
});
setSize(200, 200);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Test("Test");
}
}
控制台将打印”windowClosed方法被调用“。
dispose();改为System.exit(0); 则不会打印!