【问题标题】:how to change forms as radiobutton are selected如何在选择单选按钮时更改表单
【发布时间】:2017-12-07 18:12:10
【问题描述】:

我有带有 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
  }
}

但这仅在第一次加载框架时有效,它不会随着程序运行时用户选择不同的单选按钮而改变。

我该如何解决这个问题?

【问题讨论】:

  • JTabbedPane 不是更好的解决方案吗?
  • @TimothyTruckle,一般来说,但偶尔人们想要自定义控件。

标签: java swing netbeans radio-button


【解决方案1】:

您可以将 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");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多