java - System.exit(0) 与 JFrame.EXIT_ON_CLOSE

标签 java swing jframe exit

两者有什么区别。我正在阅读一篇关于您应该始终使用的文章 ( http://www.javalobby.org/java/forums/t17933)

System.exit(0);

目前我在用

JFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

文章说,即使对于 Java Swing 应用程序,您也应该添加一个监听器 WindowAdapter 并在其方法 windowClosing(WindowEvent e)

有区别吗?一种方法比另一种更好吗?

最佳答案

如果您查看 JFrame 代码,它会:

 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。

关于java - System.exit(0) 与 JFrame.EXIT_ON_CLOSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8597140/

相关文章:

java - JTable滚动到行问题

java - 如何在 Swing 中使用 pack() 设置边距?

java - 给定一个节点,如何在单链表中找到前一个节点

java - 当输入以编程方式更新时,如何刷新 zk 中的文本框?

Java - 在没有未经检查的强制转换的情况下,混合类型容器(非泛型类)是否可能?

java - 在hibernate中编写内连接

java - 从 JButton ActionListener 填充 JList

java - JTable 单元格重叠

java - KeyListener/KeyBindings 以及添加组件的顺序

java - 从actionPerformed和actionListener Java返回字符串