关闭操作的JFrame
我想知道是否有办法,通过点击“X”,让程序在关闭JFrame之前执行一些代码。 setDefaultCloseOperation()
方法只接受一个整数。
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
您可能对使用WindowListener
感兴趣。 WindowListener
教程 。
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就是你要走的路。 但是,如果你正在寻找一个清理和优雅关闭的地方,那么你可能需要一个关闭钩子 。 使用WindowListener,只有用户“点击X”才会触发代码。 但是,如果用户在终端的前台启动应用程序并使用Ctrl + C将其杀死,该怎么办? 如果用户从命令行或任务管理器中终止进程,该怎么办?