Java - 关闭框架

时间:2011-09-13 19:20:31

标签: java frame

从第一帧开始我调用另一帧:

frame2 fr2 = new frame2();
fr2.setVisible(true);

但当我试图以同样的方式关闭时 - 没有反应

frame2 fr2 = new frame2();
fr2.setVisible(false);

我在第一帧使用两个按钮

所做的一切

1 个答案:

答案 0 :(得分:4)

frame2 fr2 = new frame2();
fr2.setVisible(false);

通过这个,你正在创建一个新的frame2实例并隐藏它,你没有对你已经创建的frame2实例做任何事情,因此no reaction

你应该做的是创建一个类字段或类似的东西来保存你最初创建的frame2实例的引用(当你显示它时),然后使用相同的引用并调用setVisible(false)

class frame1{
    ...

    private frame2 frame2ref;
    ....


    void foo()
    {
       ....
       frame2ref = new frame2();
       frame2ref .setVisible(true);
       // create and save reference and show frame.
       ...
    }

    void bar()
    {
        ...
        frame2ref.setVisible(false);
        // retrieve reference and hide frame. 
        ...

    }

}