如何获取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;
}
在一个项目中,我将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;
}