我想知道是否有一种方法,通过点击“X”来让程序在关闭JFrame之前执行一些代码。 setDefaultCloseOperation()
方法只接受一个整数。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
我想知道是否有一种方法,通过点击“X”来让程序在关闭JFrame之前执行一些代码。 setDefaultCloseOperation()
方法只接受一个整数。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
int i=JOptionPane.showConfirmDialog(null, "Seguro que quiere salir?");
if(i==0)
System.exit(0);//cierra aplicacion
}
});
@Jeffrey有一个好的答案,但你应该考虑你想做什么。如果你真的想在框架关闭时做些事情,则WindowListener是正确的方法。然而,如果你正在寻找一个执行清理和正常关闭操作的地方,那么你可能需要一个shutdown hook。使用WindowListener,代码只会像你所说的那样,由用户“点击X”触发。但是,如果用户在终端前台启动应用程序并使用Ctrl+C杀死它呢?如果用户从命令行或任务管理器中杀死了进程呢?