swing:点击右上角关闭按钮可以关闭JFrame

说明

JFrame窗口,点击关闭按钮时,是隐藏窗口,所以不会退出程序

要想实现点击关闭按钮时,关闭窗口,有以下两种方法

方法一:设置关闭操作

通过调用下面方法设置关闭窗口时,采取的操作:

jFrame.setDefaultCloseOperation();

该方法需要传参数,可以传下面几个参数:

  • HIDE_ON_CLOSE:默认值,点击关闭按钮时,是隐藏窗口不会退出程序

  • DO_NOTHING_ON_CLOSE:点击关闭按钮时不做任何操作

  • DISPOSE_ON_CLOSE:见下面

  • EXIT_ON_CLOSE:见下面

DISPOSE_ON_CLOSE

隐藏当前窗口,并释放窗体占有的其他资源,不会关闭其他窗口

应用场景:一般用在非主窗口中

提示:如果只有一个窗口,关闭该窗口后,也会退出应用程序

// 设置按下右上角X号后关闭
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

EXIT_ON_CLOSE

关闭窗口时,直接退出整个应用程序

应用场景:一般用在主窗口中

// 设置按下右上角X号后关闭
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

方法二:通过监听事件实现

// 设置按下右上角X号后关闭
jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
        jFrame.dispose();
        // System.exit(0);
    }
});

参考:
https://blog.csdn.net/zhudun8916/article/details/105504623