我有一个JFrame面板。它打开了好几次。但是,我希望在新的打开之前关闭前一个。
有没有办法添加一些代码,暗示“当有触发器执行相同的JFrame时关闭此JFrame。”
它是相同的JFrame,但信息(JTextFields)发生了变化。
现在整个程序,只要有方法,对象就要调用JFrame:
statusbar sb = new statusbar();
sb.setting();
如果我再次发表此声明,它将在其上打开另一个JFrame。但我想关闭前一个。
答案 0 :(得分:3)
在类中为显示的当前帧保留一个静态变量。然后在类的构造函数中检查此变量。如果它不为null,则在变量上调用dispose()以关闭框架。您的代码可能类似于:
private static Jframe openFrame;
...
...
if (openFrame != null)
{
openFrame.dispose();
}
openFrame = this;
statusbar sb = new statusbar();
此外,使用适当的类命名约定。类名称的单词应该大写(即StatusBar)。