在我的程序中,我有兩個JFrame
實例。當我點擊next
按鈕時,我想顯示下一幀並隱藏當前幀。所以我用this.setVisible(false)
和新的Next().setVisible(true)
。但在Next
窗口,如果我點擊back
按鈕我想設置前一幀再次可見,下一幀必須結束(這意味着它必須退出)。如何在JFrame中使用setVisible?
有沒有特殊的方法來做到這一點?我該怎麼做?
在我的程序中,我有兩個JFrame
實例。當我點擊next
按鈕時,我想顯示下一幀並隱藏當前幀。所以我用this.setVisible(false)
和新的Next().setVisible(true)
。但在Next
窗口,如果我點擊back
按鈕我想設置前一幀再次可見,下一幀必須結束(這意味着它必須退出)。如何在JFrame中使用setVisible?
有沒有特殊的方法來做到這一點?我該怎麼做?
考慮使用CardLayout而不是尋找有多少個JFrames。然後..
有很多examples in this forum之間切換 - 例如如here所示。
如果你想銷燬釋放所有相關資源的JFrame,你可以在其上面調用dispose()方法。
您可以將JFrames
放置在列表數據結構中,並根據您顯示的窗口保留對當前位置的引用。這樣就可以輕鬆移動到下一個和上一個。但請注意,添加到列表中的每個框架都將使用內存,並在將其放入列表中時具有其狀態。
如果您嘗試創建像UI這樣的嚮導,則應查找Sun(oracle)tutorial here。
不,我正在創建搜索框。在主菜單(框架),如果我點擊搜索按鈕它必須打開搜索框架,我想隱藏主菜單。但是,如果我退出搜索。我必須再次顯示主菜單。我不能銷燬主菜單對象。因爲保存了一些信息。我想調用previos對象。這意味着我想再次將其可見性設置爲真。 –
@JKAUSHALYA我不介意讀者,如果我記得很多次我在基本的東西上犯了錯誤,爲了幫助你必須使用可運行的代碼編輯你的文章,它顯示了你的問題,否則任何東西都只會是鏡頭黑暗的 – mKorbel
即奇數&古怪GUI。我建議爲主GUI運行JFrame
,並且當用戶想要搜索時,彈出JOptionPane
(或模式JDialog
)接受要搜索的詳細信息。這不會產生上述效果,但會遵循最終用戶的「最少驚喜之路」。
看起來應該是正確的答案,我的人也是+1 – mKorbel
@mKorbel我也喜歡'CardLayout'解決方案 - 但由於OP不希望那樣.. –
在next()窗口中創建主窗口的實例,並使用您選擇隱藏主窗口的相同方法,例如,如果您的主窗口被命名爲gui,那麼我們必須做的是。
gui obj = new gui();
,如果你後退按鈕點擊比現在做這些也
this.setVisibility(false);
obj.setVisibility(true);
這就是你需要的。
祝你好運。
爲什麼不在一個畫面中切換面板,例如使用'CardLayout'? – Thomas