如何获取JRadioButton的ButtonGroup

时间:2016-06-01 21:29:12

标签: java swing jcheckbox jradiobutton

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

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

对于这个唯一的方法,我知道正在获取Corresponding ButtonGroup,然后调用clearSelection()方法。 但是在itemStateChanged()方法中我有JtoggleButton选项=(JtoggleButton)event.getSource();

因此选项指的是JRadioButton或JcheckBox。我已经搜索过,但我无法找到一个方法来获取JRadioButton的ButtonGroup。

1 个答案:

答案 0 :(得分:2)

您可以使用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;
}