Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System.exit(0) vs JFrame.EXIT_ON_CLOSE

Is there any difference between the two. I was reading an article ( http://www.javalobby.org/java/forums/t17933 ) about that you should always use

System.exit(0);

Currently I use

JFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

The article says that even for a Java Swing Application you should add a listener WindowAdapter and and call System.exit() inside its method windowClosing(WindowEvent e).

Is there any difference? Is one method better then the other?

like image 662
Halfwarr Avatar asked Dec 21 '11 22:12

Halfwarr


1 Answers

If you look at the JFrame code, it does:

 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;
            }
        }
    }

So, it's exactly the same thing. I would just set EXIT_ON_CLOSE if that's what you want it to do.

like image 70
Reverend Gonzo Avatar answered Oct 02 '22 10:10

Reverend Gonzo