2012-04-22 88 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

相关问题