【问题标题】:How to get ButtonGroup of JRadioButton如何获取 JRadioButton 的 ButtonGroup
【发布时间】:2016-06-01 21:29:12
【问题描述】:

在一个项目中,我将 ItemListener 添加到一组 JcheckBox 和 JRadioButtons 中。

我希望当用户点击已选择的 JRadioButton 时,它会被取消选择。

对于我知道的唯一方法是获取相应的 ButtonGroup,然后调用 clearSelection() 方法。 但在 itemStateChanged() 方法中,我有 JtoggleButton option=(JtoggleButton)event.getSource();

所以选项指的是 JRadioButton 或 JcheckBox。我已经搜索过,但我找不到为 JRadioButton 获取 ButtonGroup 的方法。

【问题讨论】:

    标签: java swing jcheckbox jradiobutton


    【解决方案1】:

    您可以使用getSource 并使用instanceof 进行检查。如果是JRadioButton,则将其转换为JRadioButton,并将selected 设置为false。 JCheckBox也一样

    if(event.getSource instanceof JRadioButton){
    
     JRadioButton  btn=(JRadioButton)    event.getSource();
        btn.setSelected=false;
    }
    else if (event.getSource instanceof JCheckBox){
    
      JCheckBox chb=  (JCheckBox)    event.getSource();
        chb.setSelected=false;
    }
    

    如果您想取消选择已选择的一项,您可以添加如下条件

    if(event.getSource instanceof JRadioButton){
    
      JRadioButton  btn=(JRadioButton)    event.getSource();
      if(btn.isSelected())
         btn.setSelected=false;
    }
    else if (event.getSource instanceof JCheckBox){   
      JCheckBox chb=  (JCheckBox)    event.getSource();
      if(chb.isSelected())
         chb.setSelected=false;
    }
    

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 2015-06-15
      • 1970-01-01
      • 2012-12-10
      相关资源
      最近更新 更多