setDefaultCloseOperation();是用来设定窗口被关闭时(比如点击了右上角的”x”)的行为。参数有:
DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体占有的其他资源。在窗口被关闭的时候会dispose这个窗口。
EXIT_ON_CLOSE:结束窗口所在的应用程序。在窗口被关闭的时候会退出JVM。
如果程序没有其他线程在运行,当所有窗口都被dispose后,JVM也会退出。
代码举例:
1 | import javax.swing.JFrame; |
2 | import static javax.swing.JFrame.*; |
5 | public static void main(String[] args) { |
6 | JFrame window1 = new JFrame( "窗口A" ); |
7 | JFrame window2 = new JFrame( "窗口B" ); |
8 | window1.setBounds( 600 , 100 , 180 , 100 ); |
9 | window2.setBounds( 260 , 100 , 180 , 100 ); |
10 | window1.setVisible( true ); |
11 | window2.setVisible( true ); |
12 | window1.setDefaultCloseOperation(DISPOSE_ON_CLOSE); |
13 | window2.setDefaultCloseOperation(EXIT_ON_CLOSE); |
运行如图:
单击窗口A的关闭按钮,只有窗口A被关闭。
单击窗口B的关闭按钮,两个窗口都被关闭。