JAVA—— setDefaultCloseOperation() 参数说明

JFrame 中 setDefaultCloseOperation() 参数说明

今天在写窗体的时候,发现了这个东西,有点不明白,就查了一下。现在把我所了解到的结果,分享给大家。

查找API 得到的结果,给截图看一下。有点官方,不太明白

JAVA—— setDefaultCloseOperation() 参数说明_第1张图片

接下来给出我的 理解和解释吧!

第一种:DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。

在测试中,你会发现,点击 X 关闭不了窗口。不做任何处理。

第二种:HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

测试一下,你会发现,窗口可以关闭,但并不如此,只是按照将程序界面隐藏了。可以打开任务管理器,可以看到一个叫“java.exe”的进程。

我使用的是VScode  在界面会看到程序仍在运行,此时你按F5 是不可以再次运行

程序的,需要先停止。

第三种:DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

在测试中,发现和上一个一模一样,实际上 他也是隐藏 并释放该窗体所使用的资源和空间

第四种:EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

默认情况下,该值被设置为 HIDE_ON_CLOSE

我也做了代码测试,供大家参考

import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class DefaultCloseOperation extends JFrame{

    public DefaultCloseOperation(){
        //设置窗体大小
        setSize(400,350); 
        //设置窗体标题
        setTitle("DefaultCloseOperation 测试窗口");
    }
    
    public static void main(String[] args) {
        DefaultCloseOperation frame = new DefaultCloseOperation();
        frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);//第一种
        frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);//第二种
        frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);//第三种
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //第四种
		frame.setVisible(true);                                  // 使窗体可见
    }
}

你可能感兴趣的:(小知识点,编程语言)