【swing窗口状态监听】想问问怎么在窗口1里监听窗口2的关闭?

窗口2是在窗口1运行过程中由窗口1创建的,现在想着,如果窗口2打开了那么要把窗口1隐藏,或者说如果窗口2关闭了那么要把窗口1重新显示,请问这要怎么做啊?... 窗口2是在窗口1运行过程中由窗口1创建的,现在想着,如果窗口2打开了那么要把窗口1隐藏,或者说如果窗口2关闭了那么要把窗口1重新显示,请问这要怎么做啊? 展开
 我来答
hdparrot
2013-02-27 · TA获得超过2404个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1155万
展开全部
窗口1是通过哪个组件打开窗口2的?把窗口1的引用传一个给窗口2。
窗口2显示的时候,设置窗口1的visible属性为false。
关闭窗口2的时候,再把窗口1的visible属性设为true。没试过,应该可以吧。
简单写了一个,你看看:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class tr
{
public static void main(String[]args){
final JFrame f1=new JFrame("Windows 1");
JButton b=new JButton();
f1.setBounds(100,100,200,200);
f1.add(b);
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFrame f2=new JFrame("Windows 2");
f2.setBounds(200,200,200,200);
f2.setVisible(true);
f1.setVisible(false);
f2.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
f1.setVisible(true);
}
});
}
});
f1.setVisible(true);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
追问
窗口1通过其中的一个按钮打开窗口2,另外,你写的这个是点击窗口2的关闭按钮来触发windowevent吧?如果也是通过点击窗口2上的一个按钮使窗口2不可见而窗口1重新可见应该怎么做?这个和关闭窗口的意义一样么?
追答
原理是一样的,只需要在窗口2上添加一个按钮,再为按钮添加监听器,事件的处理过程就是窗口2设置为隐藏,窗口1设置为可见就行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式