この質問をご覧になることをお勧めします: How to close a Java Swing application from the codeは、アプリケーションの一般的なクローズと、アプリケーションを完全に終了させる方法を扱っているためです。
しかし、質問にすばやく答えるには、いくつかのオプションがあります。
オプション1
クラスで拡張JFrame
しているので、終了するために使用できますEXIT_ON_CLOSE
。
setDefaultCloseOperation(EXIT_ON_CLOSE);
注: EXIT_ON_CLOSE
適用されているアプリケーションだけでなく、アプリケーション内のすべてを終了JFrames
します。
オプション 2
これはおそらくあなたが望む答えではありませんが、あなたがそれを適用しようとしているものDISPOSE_ON_CLOSE
だけを閉じます.JFrame
複数JFrames
開いている場合、または他の がある場合Threads
、それらは実行され続け、プログラムは終了しません。Thread
ただし、と が 1 つしかない場合はJFrame
、アプリケーションが終了します。
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
私の好み
私は選択肢 1 を採用しますが、他の意見には同意しません。に直接関連付けられてJFrame
おり、依存していないためWindowConstants
、物事がよりクリーンで信頼性が高くなります。しかし、もっと重要なことは、それを適用したウィンドウだけでなく、すべてのウィンドウを閉じることです。
ウィンドウが 1 つしかないように見えてもThreads
、プログラム内の別の場所に、NetBeans がスローしている他の内部がある場合があります。
すべてが確実に閉じるようにするには、 を使用しますEXIT_ON_CLOSE
。
追加情報
DISPOSE_ON_CLOSE
どのように、どのようにEXIT_ON_CLOSE
異なるかについての議論: http://www.coderanch.com/t/340183/GUI/java/DISPOSE-CLOSE-vs-EXIT-CLOSE
ドキュメントJFrame's
EXIT_ON_CLOSE
: http://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html#EXIT_ON_CLOSE
DISPOSE_ON_CLOSE
その他のドキュメントWindowConstants
: http://docs.oracle.com/javase/1.5.0/docs/api/javax/swing/WindowConstants.html#DISPOSE_ON_CLOSE