2010-12-09 127 views
1

我有一个JFrame面板。它打开几次。不过,我希望前一个关闭,就在新的打开之前。如何关闭JFrame后跟另一个JFrame?

那么是否有一种方法来添加一些暗示“当有触发器执行相同的JFrame时关闭此JFrame”的代码。

这是相同的JFrame,但信息(JTextFields)的变化。

眼下通过了该方案,在以往任何时候有一个方法,对象调用对JFrame:

statusbar sb = new statusbar(); 
     sb.setting(); 

,如果我再有这样的说法,它会打开顶部的另一个JFrame的。但我想关闭前一个。

回答

3

在显示的当前帧的类中保留一个静态变量。然后在你的类的构造函数中检查这个变量。如果它不是null,那么你在变量上调用dispose()来关闭框架。您的代码可能看起来像:

private static Jframe openFrame; 
... 
... 
if (openFrame != null) 
{ 
    openFrame.dispose(); 
} 

openFrame = this; 

状态栏SB =新的状态栏();

此外,使用适当的类命名约定。类名字应该大写(即StatusBar)。

+0

谢谢...它的作品完美! – razshan 2010-12-09 23:14:34