2010-12-09 88 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