JAVA中怎么关闭一个窗口?
我知道关闭窗口用dispose()方法,使其不可见用setvisible(false).我现在想使用dispose()方法.有个类reg继承JFrame,自然它的对象就是...
我知道关闭窗口用dispose()方法,使其不可见用setvisible(false).
我现在想使用dispose()方法.
有个类reg继承JFrame,自然它的对象就是那个窗口.比如对象是r,那么我想要的结果自然是r.dispose();这个我也知道.
问题是如果这个类的对象名字我一直都没有给,也就是说上面的各组件全用的add(xxx)而不是r.add(xxx),现在怎么办?我不想去前面改了,因为一改就要改很多地方,况且那时是逃避的表现.
另外就是这个语句我想在另外一个类中写,不是在reg类中,这又需要注意什么?
以上共两个问题,请回答. 展开
我现在想使用dispose()方法.
有个类reg继承JFrame,自然它的对象就是那个窗口.比如对象是r,那么我想要的结果自然是r.dispose();这个我也知道.
问题是如果这个类的对象名字我一直都没有给,也就是说上面的各组件全用的add(xxx)而不是r.add(xxx),现在怎么办?我不想去前面改了,因为一改就要改很多地方,况且那时是逃避的表现.
另外就是这个语句我想在另外一个类中写,不是在reg类中,这又需要注意什么?
以上共两个问题,请回答. 展开
4个回答
展开全部
如果是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类的对象了.现在你懂了吧.你再回去看看我的题干对不对.再告诉我题干的答案.
====================================
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
"那是你思维跟我不一样."
你们全家思维都和别人不一样.
.别给我发消息了。问题已经给你解决了。
直接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类的对象了.现在你懂了吧.你再回去看看我的题干对不对.再告诉我题干的答案.
====================================
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
问问题的都是爷.
"那是你思维跟我不一样."
你们全家思维都和别人不一样.
.别给我发消息了。问题已经给你解决了。
展开全部
定义一个静态的 本身类
public static JFrame reg=new JFrame();
reg=this;
然后再另外一个类中使用 reg.dispose();
public static JFrame reg=new JFrame();
reg=this;
然后再另外一个类中使用 reg.dispose();
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有个类reg继承JFrame,自然它的对象.
那就用this.dispose();
那就用this.dispose();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
istry正解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询