java jframe如何按标题栏的关闭按钮只关闭窗口不关闭程序

java jframe如何按标题栏的关闭按钮只关闭窗口不关闭程序,第1张

其中operation有以下几种

DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE

给你一个例子,看一下就明白了

import java.awt.*

import javax.swing.*

import java.awt.event.*

public class NewTaskFrame extends JFrame{/***/private static final long serialVersionUID = 1L

public static void main(String args){NewTaskFrame newframe = new NewTaskFrame(新建下载任务)

newframe.setSize(600,300)

newframe.setLayout(null)

newframe.setResizable(false)

newframe.setLocation(300, 300)

newframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

newframe.getContentPane().setBackground(Color.LIGHT_GRAY)

newframe.setVisible(true)}public NewTaskFrame (String str){super(str)}}public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 close 时默认执行的 *** 作。必须指定以下选项之一:

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

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

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

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

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

关闭java frame进程的方法是调用关闭的时候执行以下代码:

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

关于EXIT_ON_CLOSE的说明:

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

public void exit(int status)通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。 

虚拟机的关闭序列包含两个阶段。

在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭挂钩(如果有的话),并且允许它们同时运行直至结束。

在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。

      如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭挂钩,则将无限期地阻断此方法。如果已经运行完关闭挂钩,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 

System.exit 方法是调用此方法的一种传统而便捷的方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11266895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存