在不更改参考的情况下切换JFrame

时间:2014-12-01 00:37:11

标签: java swing

我试图保持这个相当干净,并且对JFrame的单一引用,应用程序的剪切和蒙皮版本如下:

public class Client extends SuperclassNotJFrame

     private JFrame frame;

     method a()
        frame = new Frame("first frame").setSize(400,400).setVisible(true)
     endmethod

     method b()
        frame = new Frame("second frame").setSize(800, 600).setVisible(true)
     endmethod

endclass

如果我调用方法a()然后调用方法b(),则方法a()期间创建的框架将保留,即使我已完全删除了框架创建的参考用新框架覆盖它。

我甚至尝试在frame = null中执行b(),结果相同。

1 个答案:

答案 0 :(得分:1)

要使frame不可见,您可以使用frame.setVisible(false);

当引用停止指向它时,通过调用方法Frame中的a()构造函数创建的对象不会立即删除。当您在setVisible(true)的框架上调用a()时,您创建的窗口即使在a()终止后仍会保留。