我有摆动框架,带有3个单选按钮和这些按钮下方的面板。对于单选按钮的每个选项,面板必须不同。 我必须更改面板,因为用户点击了这些单选按钮。
我试过了:
public RadioFrame() {
initComponents();
groupbuttons();
changePanel();
}
private void groupbuttons(){
//code to group these 3 buttons.
}
private void changePanel(){
if (jradioButton1.isSelected()){
//change the panel for radiobutton1
}
if (jradioButton2.isSelected()){
//change the panel for radiobutton2
} if (jradioButton3.isSelected()){
//change the panel for radiobutton3
}
}
但这只适用于第一次加载帧时,它不会随着用户在程序运行时选择不同的单选按钮而改变。
我该如何解决这个问题?
答案 0 :(得分:4)
您可以将JPanel与CardLayout一起使用。每个页面都是JPanel和外部JPanel中的卡片。
更新:
要从一张卡片切换到另一张卡片,您可以:
CardLayout layout = (CardLayout)cardPanel.getLayout();
layout.show(cardPanel, "card name");
您可以在Netbeans可视化编辑器中轻松设计页面。
更新2:
在你的情况下:
CardLayout layout = (CardLayout)cardPanel.getLayout();
if (jradioButton1.isSelected()){
layout.show(cardPanel, "panel1");
}
if (jradioButton2.isSelected()){
layout.show(cardPanel, "panel2");
}
if (jradioButton3.isSelected()){
layout.show(cardPanel, "panel3");
}