JAVA中怎么关闭一个窗口

如题所述

java关闭窗口可以使用dispose(),只是该窗体在内存中所占有的资源得到了释放,而整个程序并没有因此而退出,如果整个程序要退出,在以java.awt中的frame为控件时,需手动添加:System.exit();
而在以javax.Swing中的jFrame为控件时,一般不需要再写相应的事件,默认点击窗体上的小叉时,是隐藏,当然你可更改其参数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-18
如果是add(XXX)那不就是在这个窗体里吗?
直接disopose()就好了.

要不就this.dispose();

=====================================

"谁告诉你add(XXX)和disopose()都要在reg类里.我就要是前者在,后者就不让他在reg类里,而且还要关闭reg类对象窗口.根本没理解我的意思.我说的够清楚了,你一眼带过看的明白吗,你再去看看我的题干."
又看了一遍 发现这次根本看不明白了...
=====================================

====================================
"this.dispose()我当然知道.但这句话在另一个类中写,试问this还表示reg的对象吗,显然不行的.我现在就要在另一个类中写.第二个人也是乱说,只有第一个回答可能正确,你们两个都在乱说."
如果是在另一个类中写就需要当前窗体当作参数传递.
import javax.swing.JFrame;

public class Reg extends JFrame {
/**
* 创建一个新的窗体
* */
public void newWindows(){
new newReg(this);//将自己传递给newReg这个窗口
}
}

这是另外一个窗体.
public class newReg extends JFrame{
public newReg(JFrame father) {//接收父窗口
father.dispose();
}
}

====================================
那是你思维跟我不一样.我已在reg类中用了好多句add(xxx);来添加组件.现在其对象窗口,包括里面的组建都能正常显示.

我现在想在另一个类中,比如mm类中用dispose()方法去关掉reg类窗口,我若是再用this.dispose()那this指的就是mm类的对象了.现在你懂了吧.你再回去看看我的题干对不对.再告诉我题干的答案.

====================================

问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.

"那是你思维跟我不一样."
你们全家思维都和别人不一样.
.别给我发消息了。问题已经给你解决了。
相似回答