如何获取JRadioButton的ButtonGroup

How to get ButtonGroup of JRadioButton

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

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

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

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

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