2012-04-22 49 views
2

根據標題,我試圖用RadioButton選擇來改變我的GUI。更具體地說,JLabels和JTextfields。基本上,我想看起來像這樣:http://i40.tinypic.com/262sec7.png,其中前三個標籤和字段總是相同的,最後兩個字段和標籤是不同的。GUI隨RadioButton選擇發生變化

我知道它需要通過RadioButtons的ActionListeners進行。是否應該在ActionListeners中創建標籤中的所有內容?然後根據RadioButton選擇清除並重新創建?

回答

2

您正在尋找CardLayout

CardLayout是一個LayoutManager它允許您添加多個組件,並選擇使用CardLayout.show(Container parent, String name)顯示哪一個組件。一次只能看到一個組件。

這裏有一個教程:http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

在你的情況,你會添加不同的JPanel所有你想爲每個單選按鈕的控件。然後,單選按鈕ActionListener將簡單地調用CardLayout.show(...)以顯示適當的一組控件。

+1

在@ user1349999的情況下,大多數GUI將保持不變,包括頂部的JRadioButtons和底部的JButtons,但中央的JPanel將使用CardLayout並保存並顯示JTextFields和JLabels的網格。 1+爲您的答案。 – 2012-04-22 20:40:12

+0

非常感謝。 CardLayout確實有所幫助。 – user1349999 2012-04-23 03:04:23

相關問題