画面右上の x を押しても無条件には画面表示を消さない
(終了確認を表示させたい時など)


import  javax.swing.*;
class  NoClose  {
   public static void main(String[] args) {
      JFrame  jf = new JFrame();
      // 画面右上の x を押しても無条件には終わらない
      jf.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
      jf.setSize(500, 400);
      jf.setVisible(true);
   }
}


デフォルトの動作は、ユーザがウィンドウを閉じたらJFrame を非表示にするだけです。(HIDE_ON_CLOSE)
プログラムを起動したコンソール画面を見ると、カーソルはコマンドプロンプトに戻ってはいません。
このデフォルト動作を変更するには、メソッドsetDefaultCloseOperation を呼び出します。
JFrameを表示させておくには、setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE) を使います。
これで JFrame は java.awt.Frame と同様に動作します。
3 つ目のオプション(DISPOSE_ON_CLOSE)は、ウィンドウを閉じたら、非表示にするだけでなく、
完全にウィンドウを破棄することです。