「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が最適です。ただし、クリーンアップと正常なシャットダウンを実行する場所を探している場合は、代わりにシャットダウンフックが必要になる可能性があります。WindowListenerを使用すると、コードは、ユーザーが「Xをクリック」することによってのみトリガーされます。しかし、ユーザーがターミナルのフォアグラウンドでアプリを起動し、Ctrl+Cでアプリを強制終了した場合はどうなるでしょうか。ユーザーがコマンドラインまたはタスクマネージャーからプロセスを強制終了した場合はどうなりますか?
を使用することに興味があるかもしれませんWindowListener
。WindowListener
チュートリアル。_