2011-12-21 6 views
8

2つの間に違いはありますか?私はあなたが常にSystem.exit(0)対JFrame.EXIT_ON_CLOSE

System.exit(0); 

を使用する必要があることについての記事(http://www.javalobby.org/java/forums/t17933)を読んでいた現在、私は

JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

を使うの記事も、Java SwingアプリケーションのためにあなたがリスナーWindowAdapterと、コールを追加する必要があることを述べていますそのメソッド内にSystem.exit()windowClosing(WindowEvent e)

違いがありますか? 1つの方法はもう一方の方法より優れていますか?あなたはJFrameのコードを見れば

答えて

12

、それはありません:

protected void processWindowEvent(WindowEvent e) { 
     super.processWindowEvent(e); 

     if (e.getID() == WindowEvent.WINDOW_CLOSING) { 
      switch(defaultCloseOperation) { 
       ... 
      case EXIT_ON_CLOSE: 
        // This needs to match the checkExit call in 
        // setDefaultCloseOperation 
     System.exit(0); 
     break; 
      } 
     } 
    } 

だから、それはまったく同じことです。もしあなたがそれをしたいと思えば、EXIT_ON_CLOSEを設定するだけです。

0

まあ、System.exit(0)がJFrameコーディングにあると考えれば、いずれかが動作します。

関連する問題