2012-02-16 7 views
12

アプリケーションクローズイベントを取得するにはどうすればよいですか?アプリケーションクローズイベントを取得する

保存していないすべての操作を保存するアプリケーションを取得するか、「すべてのデータを保存せずに閉じることはできますか?このようなもの。

これが役に立ちそうなら、アプリケーションはSingleFrameAplicationで、Swingを使用しています。

答えて

18

shutdown hookを使用できます。 Swing、AWT、さらにはコンソールアプリケーションでも機能します。

例:メソッドpublic void windowClosing(WindowEvent e) {のコード例は、

Runtime.getRuntime().addShutdownHook(new Thread() 
{ 
    @Override 
    public void run() 
    { 
     //do your stuff 
    } 
}); 
あなたがイベントを閉じるについては、お使いの JFrame/JDialogWindowListenerを追加する必要が
+4

は、roseindiaリンクを使用して慎重にしてください。 http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.htmlを参照してください。 http://docs.oracle.com/javase/7/docs/api/javaをお勧めします。代わりにリンクとして/lang/Runtime.html#addShutdownHook(java.lang.Thread) – Sean

+1

@Sean、警告ありがとう!より正当なリンクを使って答えを編集しました。 –

0

あなたはsun.misc.SignalまたはRuntime.getRuntime().addShutdownHook

More info使用することができます

関連する問題