setDefaultCloseOperation();是用来设定窗口被关闭时(比如点击了右上角的”x”)的行为。参数有:
DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体占有的其他资源。在窗口被关闭的时候会dispose这个窗口。
EXIT_ON_CLOSE:结束窗口所在的应用程序。在窗口被关闭的时候会退出JVM。
如果程序没有其他线程在运行,当所有窗口都被dispose后,JVM也会退出。
代码举例:
package Example;
import javax.swing.*;
public class example1 {
public static void main(String[] args) {
JFrame window1 = new JFrame("窗口A");//创建带标题的窗口
JFrame window2 = new JFrame("窗口B");
window1.setBounds(600, 100, 500, 500);//左,上,宽,高
window2.setBounds(100, 100, 500, 500);
window1.setVisible(true);
window2.setVisible(true);
window1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
运行截图:
单击窗口A的关闭按钮,只有窗口A被关闭。