2016-03-08 22 views
2

我有一個程序,我可以點擊一個按鈕,它會調用一個新的面板,通過動作監聽器使當前的一個爲false。此面板使用了整個尺寸的JFrame,給我一個表格來填寫和按鈕按下。Java和使用不同的實例

這是正確的方法嗎?或者有更好的方法,因爲我遇到了其他JPanel上出現新調用的JPanel的錯誤。我可以使用setVisible(false),但是某些元素(如按鈕)不會顯示。

+6

指定卡的正確方法是在我眼裏使用適當的佈局。由於您希望「替換」用戶可見的面板,因此[CardLayout](https://docs.oracle.com/javase/tutorial/uiswing/layout/card.html)可能符合您的需求。 – SomeJavaGuy

+0

這樣做的正確「方法」幾乎取決於你的目標。應該有其他東西可見嗎?你應該不使用新的JFrame嗎?你應該能夠同時使用所有面板嗎?首先問自己這些問題。 –

+0

@KalinVarbanov如何使用多個JFrames? – Bob

回答

3

根據你的想法,在我看來,你可能會想看看,你可以在這個框架中開啓2個或多個面板。

從概念上講,CardLayout管理的每個組件都像堆疊式撲克牌或交易卡,其中只有頂牌在任何時候都可見。您可以選擇是顯示在以下任一方式卡:

  • 通過詢問第一或最後一張牌,順序爲它加入到容器
  • 通過直通甲板翻轉向後或前鋒
  • 通過具有特定名稱
相關問題