您可能想看看这个问题:如何从代码中关闭 Java Swing 应用程序,因为它通常处理关闭应用程序以及如何确保它完全终止。
但要快速回答您的问题,有几种选择。
选项1
由于您JFrame
在课堂上进行扩展,因此您可以使用EXIT_ON_CLOSE
退出。
setDefaultCloseOperation(EXIT_ON_CLOSE);
注意: EXIT_ON_CLOSE
退出所有JFrames
应用程序,而不仅仅是应用程序。
选项 2
这很可能不是您想要的答案,但DISPOSE_ON_CLOSE
只会关闭JFrame
您正在应用它的答案。
如果您有多个JFrames
open ,或者如果您有任何其他Threads
,它们将继续运行并且程序不会结束。但是如果你只有一个Thread
和一个JFrame
,这将关闭应用程序。
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
我的偏好
我会选择选项 1,不同意其他人。它直接绑定到JFrame
而不依赖于WindowConstants
,这使事情变得更清洁和更可靠。但更重要的是,它会关闭所有窗口,而不仅仅是您应用它的窗口。
尽管看起来您只有一个窗口,但Threads
您的程序中的其他地方可能还有其他内部,NetBeans 将其放入其中。
为确保一切都关闭,您要使用EXIT_ON_CLOSE
.
额外的信息
有关如何DISPOSE_ON_CLOSE
和EXIT_ON_CLOSE
不同的讨论:http: //www.coderanch.com/t/340183/GUI/java/DISPOSE-CLOSE-vs-EXIT-CLOSE
文档JFrame's
EXIT_ON_CLOSE
:http ://docs.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html#EXIT_ON_CLOSE
DISPOSE_ON_CLOSE
关于和其他的文档:http WindowConstants
: //docs.oracle.com/javase/1.5.0/docs/api/javax/swing/WindowConstants.html#DISPOSE_ON_CLOSE