2016-05-15 159 views
0

我目前有一個應用程序與單個窗口生成器和多個JFrames。當我從一個jframe移動到另一個時,我使用以下代碼多個JFrame實例

contentPane.setVisible(false); 
EditAccountDetails editAccountDetails = new EditAccountDetails("admin"); 
editAccountDetails.setVisible(true); 

這創建了一個新的jframe,但是這並沒有關閉舊的jframe。當我從我的WindowBuilder移動到一個JFrame,這並不發生,因爲我可以關閉該窗口構建框架:

frame.dispose(); 
AdminDashboard adminDashboard = new AdminDashboard(); 
adminDashboard.setVisible(true); 

我不能關閉的JFrame以同樣的方式,和IM假設我不應該有一個的WindowBuilder的多個實例。我如何解決這個問題?

enter image description here

+0

'#的JFrame ... dispose'雖然我建議使用'CardLayout'代替 – MadProgrammer

回答

2

我不能關閉的JFrame以同樣的方式

爲什麼不呢? dispose是一種方法JFrame

和即時假設我不應該有一個windowbuilder的多個實例。

The Use of Multiple JFrames, Good/Bad Practice?可能會提供更多信息

如何解決這個問題?

我推薦使用CardLayout來代替,更多詳細信息請參閱How to Use CardLayout

我也建議不使用窗口Builder或任何其他GUI編輯器爲你有更好的理解API如何工作的,不過這只是我

+1

*「..建議不要使用Window Builder或任何其他GUI編輯器來更好地理解API的工作原理,但那只是我自己」*不可以。你並不孤單。 –