从第一帧开始我调用另一帧:
frame2 fr2 = new frame2();
fr2.setVisible(true);
但当我试图以同样的方式关闭时 - 没有反应
frame2 fr2 = new frame2();
fr2.setVisible(false);
我在第一帧使用两个按钮
所做的一切答案 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.
...
}
}