问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中关闭窗口的方法

发布网友 发布时间:2022-04-23 08:30

我来回答

5个回答

热心网友 时间:2022-06-18 10:20

1 package applicationGraphicsInOut;
2 import java.awt.*;
3 import java.awt.event.*;
4 public class ApplicationGraphicsInOut {
5 public static void main(String args[])
6 {
7 new FrameInOut();
8 }
9
10 }
11 class FrameInOut extends Frame implements ActionListener
12 {
13 Label prompt;
14 TextField input,output;
15 FrameInOut()
16 {
17 super("图形界面的Java Application程序");
18 prompt=new Label("请输入您的名字");
19 input=new TextField(6);
20 output=new TextField(20);
21 setLayout(new FlowLayout());
22 add(prompt);
23 add(input);
24 add(output);
25 input.addActionListener(this);
26 setSize(300,200);
27 setVisible(true);
28 }
29 public void actionPerformed(ActionEvent e)
30 {
31 output.setText(input.getText()+",欢迎你");
32 }
33 }

该程序在Eclipse下运行通过,但是就是不能关不掉!

什么原因呢?

其中有以下几种解决方法:

1:

把main函数改为如下

1 public static void main(String args[])
2 {
3 Frame fr=new FrameInOut();
4 fr.addWindowListener(new java.awt.event.WindowAdapter()
5 {
6 public void windowClosing(java.awt.event.WindowEvent e)
7 {
8 System.exit(0);
9 }
10 });
11
12 }

这种方法我有点不解,addWindowListener()括号里是怎么回事,我有点纳闷,我还没见过这样的形式,不过我猜可能是实现了java.awt.event.WindowAdapter()类里面的一个抽象方法windowClosing(),但是我真没有见过这种格式,求解释。

2:

对WINDOWS_CLOSING事件做出响应,每个窗口都有3个控制图标,其中最小化和最大化操作Frame可自动完成,而关闭窗口的操作不能通过单击关闭图标实现,需要程序专门书写有关的代码,其实这种方法与上一种一样,则不过换了一种格式,一种初学者更明白易懂的格式。

在FrameInOut()构造函数里面添加监听函数,添加监听函数之后构造函数如下:

FrameInOut()
{
super("图形界面的Java Application程序");
prompt=new Label("请输入您的名字");
input=new TextField(6);
output=new TextField(20);
setLayout(new FlowLayout());
addWindowListener(new HandleWin()); //添加监听函数,引发WindowEvent事件
add(prompt);
add(input);
add(output);
input.addActionListener(this);
setSize(300,200);
setVisible(true);
}

其中HandleWin()为内部类,主要实现WindowListener借口,添加监听之后会引发WindowEvent类代表的所以七中事件,具体情况如下:

(1)WINDOW_ACTIVATED:代表窗口被激活(在屏幕的最前方待命)。

(2)WINDOW_DEACTIVATED:代表窗口失活(其他窗口被激活后原活动窗口失活)。

(3)WINDOW_OPENED:代表窗口被打开。

(4)WINDOW_CLOSED:代表窗口被关闭(关闭窗口后发生)。

(5)WINDOW_CLOSING:代表窗口正在被关闭(指关闭前。如单击窗口标题栏上的关闭按钮时)。

(6)WINDOW_ICONIFIED:代表使窗口最小化成图标。

(7)WINDOW_DEICONIFIED:代表使窗口从图标恢复

在WindowEvent类的主要方法有:

public window getWindow();

此方法返回引发当前WindowEvent事件的具体窗口对象,与getSource()方法返回的是相同的事件引用。

HandleWin定义如下:

class HandleWin extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
(e.getWindow()).dispose();
System.exit(0);
}
}

HandleWin是窗口事件的裁剪类WindowAdapter的子类,重载了WindowClosing()方法。

当然也可以这样写HandleWin

1 class HandleWin implements WindowListener
2 {
3 public void windowClosing(WindowEvent e)
4 {
5 (e.getWindow()).dispose();
6 System.exit(0);
7 }
8
9 @Override
10 public void windowActivated(WindowEvent arg0) {
11 // TODO Auto-generated method stub
12
13 }
14
15 @Override
16 public void windowClosed(WindowEvent arg0) {
17 // TODO Auto-generated method stub
18
19 }
20
21 @Override
22 public void windowDeactivated(WindowEvent arg0) {
23 // TODO Auto-generated method stub
24
25 }
26
27 @Override
28 public void windowDeiconified(WindowEvent arg0) {
29 // TODO Auto-generated method stub
30
31 }
32
33 @Override
34 public void windowIconified(WindowEvent arg0) {
35 // TODO Auto-generated method stub
36
37 }
38
39 @Override
40 public void windowOpened(WindowEvent arg0) {
41 // TODO Auto-generated method stub
42
43 }
44 }

热心网友 时间:2022-06-18 10:20

关闭一个窗口 窗口对象.dispose();方法
关闭整个系统 System.exit(int ); 调用System.exit方法,不论参数传什么值,都会关闭整个进程。参数0表示正常关闭整个进程,参数值为其他任意整数,表示不正常关闭系统,

热心网友 时间:2022-06-18 10:21

只能说你的思路有问题,如果是想在关掉第一个窗口之后,打开第二个窗口,那么,你在第一个窗口上定义一个按钮就行了,按这个按钮进行关闭窗口,按钮是可以添加事件的,随你打开多少个窗口。。
你可以让标题栏不显示。。

你想点 X 关闭窗口,并且打开第二个窗口,第二个窗口关闭,又打开新的窗口,那就永远关不掉了。。

热心网友 时间:2022-06-18 10:21

frame.setVisible(false)

热心网友 时间:2022-06-18 10:22

application.exit();
Java中setDefaultCloseOperation(thi_ON_CLOSE);什么意思

在Java编程中,setDefaultCloseOperation是一个关键方法,它主要用于管理窗口或对话框的关闭行为。当提到setDefaultCloseOperation(thi_ON_CLOSE)时,这里的thi_ON_CLOSE实际上应该是DISPOSE_ON_CLOSE的拼写错误,它是一个预定义的常数值,代表了一个特定的关闭策略。这个方法通常用于JFrame或者JDialog类的对象...

JAVA中怎么关闭一个窗口

java关闭窗口可以使用dispose(),只是该窗体在内存中所占有的资源得到了释放,而整个程序并没有因此而退出,如果整个程序要退出,在以java.awt中的frame为控件时,需手动添加:System.exit();而在以javax.Swing中的jFrame为控件时,一般不需要再写相应的事件,默认点击窗体上的小叉时,是隐藏,当然你可...

java中要关闭窗口不退出程序 但用this.dispose();为什么没有反应啊...

this.dispose()是指当前类的实例,如果你用在内部类中,效果是卸载当前类实例。你应该使用窗口类的类名.this.dispose() 本回答由网友推荐 举报| 答案纠错 | 评论(2) 13 1 e世同人 采纳率:73% 擅长: JAVA相关 其他回答 前面不用加this.你应该是弹出窗体之后才关闭窗体。意思就是先调用新窗体的方法,后面写d...

setdefaultcloseoperation是什么方法?

setDefaultCloseOperation是Java Swing中JFrame类的一个方法。以下是 方法概述:setDefaultCloseOperation方法为JFrame窗口设置默认的关闭操作。在Swing框架中,JFrame代表一个图形界面窗口,而setDefaultCloseOperation是设置当用户点击窗口的关闭按钮时,窗口应该执行什么样的操作。具体功能细节:1. 默认关闭操作类型...

f.setdefaultcloseoperation(jframe.exit_on_close);

1. 设置关闭操作:在Java的GUI编程中,JFrame是一个常用的窗口类。`f`通常是JFrame的一个实例。通过调用`f.setDefaultCloseOperation`方法,可以设定当关闭这个窗口时应执行的操作。2. exit_on_close的含义:`jframe.exit_on_close`是一个常量,通常表示当用户点击窗口的关闭按钮时,应用程序应该结束...

java 如何实现点击关闭后 关闭窗口 求详细代码

EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。注:当 Java 虚拟机 (VM) 中最后一个可显示窗口被释放后,虚拟机可能会终止 ...

java中关闭当前窗口用什么代码

你用的 swing 吗?加上 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);或者加上窗口事件监听器:addWindowListener(new WindowAdapter() { public void windowClosing (WindowEvent we) { dispose();} });

java swing 窗体关闭的方法 有哪些

Jframe的关闭方法:setDefaultCloseOperation(EXIT_ON_CLOSE);frame的关闭方法如下:this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0);} });一般两种方法:一种是System.exit(0);另一种是setVisible(false);...

JAVA 关闭当前窗口

直接释放资源就关掉了:this.dispose();show()方法过时了 用setVisible(true);

如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口...

一般可以隐藏本窗口(setVisible(false);),显示新窗口来实现窗口的跳转。但是隐藏窗口,会在后面浪费系统资源。如果不再使用该窗口,应该彻底销毁(dispose();),释放系统资源 代码和注释 LoginFrame 类 import java.awt.*;import java.awt.event.*;import javax.swing.*;//LoginFrame 登陆窗口 功能...

java点击按钮关闭当前窗口 java中frame窗口如何关闭 java退出当前窗口 java如何关闭当前窗口 JAVA菜单项关闭窗口 java只关闭当前窗口 java关闭当前窗口打开新窗口 java关闭某一界面的代码 JAVA的frame编写窗口退出
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长春由动植物公园北门到我的家园坐哪公交 10.甲、乙两个书架共放386本书,乙、丙两个书架共放412本书,甲、丙... 先从甲处拿走四分之三 两个书架共有270本书从第一个书架取出1/10放入第二个书架这时两个书架的... 专业考情 | 江苏师范大学学科数学 (333/846)考研分析 江苏师范大学的国家特色专业有哪些 请问用1000ma的充电器给支持800ma的MP4充电,对MP4电池有伤害吗?可以... 移动电源输出1安每小时, 接上座充,座充输入为800毫安每小时,输出为... ...充电器标注“输出800ma”的电池可以用输出为1000ma的移动电源吗? 描写夏景的诗句大全72句 java 用代码如何关闭系统正在运行的excel文件 java中文件打开和关闭的问题 java如何关闭当前窗口打开新的窗口 如何关闭和打开JAVA 如何把魔芋烧得比较入味,无腥味 java 怎样关闭已打开的串口 怎样做魔芋烧肥肠最好吃 魔芋烧肉怎么做 超简单烧冻魔芋的做法步骤图,怎么做好吃 烧烤魔芋的做法,烧烤魔芋怎么做好吃,烧烤魔芋 魔芋烧肉的做法大全 魔芋烧肉怎么烧 怎么煮魔芋? 魔芋可以怎么烧? 红烧魔芋的做法步骤图,红烧魔芋怎么做好吃 红烧魔芋的做法,红烧魔芋怎么做好吃,红烧魔芋的家常 烧魔芋怎么做好吃 设备以及仪器注册商标属于哪一类? 机器人割草机注册商标属于哪一类? 扫地机器人属于哪个商标注册分类目录 JAVA中怎么关闭一个窗口 我用java写的控制台程序,如何关闭当前程序。 java swing怎么实现关闭一个窗口时关闭此窗口里的已经打开的窗口 如何用java关闭当前正在运行的cmd java中一个程序怎么关闭另一个程序打开的界面 如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口... java 输入输出流抛出后怎么关闭? 低筋面粉能做饼皮什么的吗?批萨皮能做吗?是不是要加酵母啊 JAVA如何关闭或者打开一个指定的windows进程 如何取消Java已被阻止 昨晚梦到了好几只乌龟,是什么意思? java如何关闭某JFrame窗口,而不是退出整个程序! 低筋面粉可以做包子吗 做梦梦到乌龟,好几只的样子,是什么意思啊?求解╮(╯▽╰)╭ java Scanner 方法怎么结束输入 梦见身体里面全是乌龟? 十一月的时令蔬菜有哪些 梦见河里有好多乌龟是什么意思?大的小的都有,我还下去捉了拿回家 11月的菜市场有什么好吃的? 一年中的时令蔬菜图表?