[英]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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.