JAVA—— setDefaultCloseOperation() 参数说明

JFrame 中 setDefaultCloseOperation() 参数说明

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

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

在这里插入图片描述

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

第一种: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);                                  // 使窗体可见
    }
}

  • 23
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值