この質問をご覧になることをお勧めします: 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