TITLE:JFrameの複数作成と終了

JFrameの複数作成と終了

編集者:Terai Atsuhiro
作成日:2005-06-27
更新日:2021-04-09 (金) 19:43:05

概要

JFrameを複数作成し、これらをすべて閉じた時にアプリケーションを終了します。

#screenshot

サンプルコード

 private static int number = 0;
 public static JFrame createFrame(String title) {
   JFrame frame = new JFrame(title);
   if(number==0) {
     frame.getContentPane().add(new MainPanel());
   }
   number++;
   WindowListener l = new WindowAdapter() {
     public void windowClosing(WindowEvent e) {
       number--;
       if(number==0) {
         JFrame f = (JFrame)e.getSource();
         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }
     }
   };
   frame.addWindowListener(l);
   return frame;
 }
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルでは、WindowListenerで終了時に自分が最後のフレームの場合だけsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)するように設定しています。

コメント