我试图保持这个相当干净,并且对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()
,结果相同。
答案 0 :(得分:1)
要使frame
不可见,您可以使用frame.setVisible(false);
。
当引用停止指向它时,通过调用方法Frame
中的a()
构造函数创建的对象不会立即删除。当您在setVisible(true)
的框架上调用a()
时,您创建的窗口即使在a()
终止后仍会保留。