我在Swing演示应用程序中看到了以下代码:
WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
addWindowListener(wndCloser);为什么要使用此代码关闭应用程序?如果没有它会发生什么,和/或是否有其他(较短的)选项来做到这一点?
发布于 2014-06-11 11:44:51
为什么要使用此代码关闭应用程序?
正如TimH所说,您可以在退出Swing应用程序之前记录信息、写出属性或进行任何其他清理。
下面是通常使用的关闭窗口代码的方式。
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
WindowListener wndCloser = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
exitProcedure();
}
};
frame.addWindowListener(wndCloser);
public void exitProcedure() {
frame.dispose();
System.exit(0);
}因为exitProcedure是一个单独的方法,所以可以从JMenuItem动作侦听器执行它,比如"Exit“。
如果没有它会发生什么,和/或是否有其他(较短的)选项来做到这一点?
一个较短的选择是
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);如果不指定任何默认的关闭操作,则Swing应用程序在关闭JFrame后继续运行。你最终得到了数十个正在运行的应用程序,什么都不做。
发布于 2014-06-11 11:09:32
您可以使用它来记录如下的一些信息:
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
log.info("Programm exit.");
System.exit(0);
super.windowClosed(e);
}
});较短的版本如下:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);https://stackoverflow.com/questions/24161248
复制相似问题