如何关闭java frame进程

 我来答
育知同创教育
2016-06-12 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

关闭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 方法是调用此方法的一种传统而便捷的方式。 

匿名用户
2016-06-08
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import javax.swing.JFrame;

public class FrameTest extends JFrame {

public static void main(String[] args) {
new FrameTest("frame 1");
new FrameTest("frame 2");
new FrameTest("frame 3");
}

public FrameTest(String title) {
this.setTitle(title);
this.setSize(800, 600);
// this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
// this.setDefaultCloseOperation(HIDE_ON_CLOSE);
// this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}

}
只要在每个Frame里设定this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);即可。
EXIT_ON_CLOSE,关闭程序。(所有窗口和进程都会关闭)
DISPOSE_ON_CLOSE,只关闭本窗口。
HIDE_ON_CLOSE,只隐藏本窗口,不关闭。
DO_NOTHING_ON_CLOSE,不做任何事,点击关闭无效。
追问:
请问一下:如果本页面有一个关闭按钮,点击该关闭按钮,该窗口关闭,是关闭,不是隐藏,该怎么写代码
追答:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class FrameTest extends JFrame {

public static void main(String[] args) {
new FrameTest("frame 1");
}

public FrameTest(String title) {
this.setTitle(title);
this.setSize(800, 600);
this.setLayout(new FlowLayout());
initPanel();
this.setVisible(true);
}

private void initPanel() {
JButton button = new JButton("关闭");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
this.add(button);
}

}
这很简单,只要调用dispose方法即可。隐藏是setVisible(false)。关闭程序是System.exit(0);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式