问题是:
我写了两个窗口类
第一个是主窗口
第二个是子窗口
当我点击主窗口上的按钮时
弹出子窗口
现在我想在子窗口上对主窗口进行操作
比如刷新,关闭等
但是不知道具体怎么调用,好像不是new一个这么简单
我new出来的主窗口的实例
调用setVisible(false)没有反应
但是setVisible(true)时会产生新窗口我觉得是new出来的是重新画了一个jframe,不是原来的jframe了我的方法如下MainWindow mw=null;if(mw==null){
    mw=new MainWindow
}
   else{
        mw.setVisible(false)
}这样写没什么效果那到底要怎样才能保证调用的是原来的窗口,而不是新建出来的?

解决方案 »

  1.   

    new 子窗口的时候把 主窗口的对象传过去 for examplepublic class aaa{

    public aaa(){
    JFrame jf =new JFrame("主");
    bbb b = new bbb(jf);
    }

    }class bbb{
    JFrame jf = null;

    public bbb(JFrame mjf){
    this.jf = mjf;
    JFrame jf =new JFrame("子");
    }
    }
      

  2.   

    把你的代码贴出来看看,如果父窗口不刷新,需要手动调用repaint()或者updateUI()方法
      

  3.   

    target指定哪个frame target的值为fame的name
      

  4.   

    子窗体尽量不要用JFrame
    用JDialog
    JDialog可以指定Onwer
    也有getOnwer()方法可以获得父窗体的引用一般来说,一个良好的桌面应用
    应该只启动一个Frame而不应该出现多个Frame
      

  5.   


    我的方法不是直接new一个子窗口,而是调用子窗口的方法,来显示子窗口