当前位置: 首页 > 知识库问答 >
问题:

如何获取JRadioButton的ButtonGroup

彭烨烁
2023-03-14

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

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

因为我知道的唯一方法是获取相应的ButtonGroup,然后调用clearSelection()方法。但在itemStateChanged()方法中,我有JtoggleButton选项=(JtoggleButton)事件。getSource();

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

共有1个答案

夹谷奇
2023-03-14

您可以使用getSource并使用instanceof进行检查。如果是JRadioButton则将其转换为JRadioButton,并将选中的设置为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;
}
 类似资料:
  • 我有两个带有ImageIcon的JRadioButton。由于我使用的图像图标,我需要给出一个按钮被选中而另一个按钮未被选中的外观。为此,我尝试禁用另一个按钮,它会自动将ImageIcon更改为disabled外观。 问题是,当我点击禁用的JRadioButton时,什么都没有发生,甚至连JRadioButton上的ActionListener都没有被调用。 有没有一种方法可以通过直接单击禁用的J

  • 我的程序试图保存按钮组的状态,以便在程序结束时将其写入文件,或者在用户选择“返回”时恢复到按钮。 我以前发现过这个问题: 如何从按钮组中选择哪个JRadioButton 但是,我下面的代码在编译为ButtonGroup时出错,在ActionPerformed方法中使用时无法识别。 补丁:找不到变量推文可信度 知道为什么会这样吗? 谢谢

  • 假设我们有一些s属于同一,当用户点击时,它被选中了。我想添加一个功能,当用户点击已经选中的时,它会被取消选中,即整个将不会选中。我已经搜索了提示使用的方法,method,clearSelection。但问题是,当用户单击已选择的JRadioButton时,它不会生成任何,而该事件是通过单击其他未选择的生成的。

  • 介绍 (Introduction) JRadioButton类是单选按钮的实现 - 可以选择或取消选择的项目,它向用户显示其状态。 Class 声明 (Class Declaration) 以下是javax.swing.JRadioButton类的声明 - public class JRadioButton extends JToggleButton implements Acc

  • ThinkCMF获取方式: 官方网站 :http://www.thinkcmf.com可获取最新版本 git@osc :http://git.oschina.net/thinkcmf/ThinkCMFX github :https://github.com/thinkcmf/cmfx

  • 问题内容: 我有一个包含窗体上的单选按钮的swing应用程序。我有但是,望着可用的方法,我似乎不能得到所选择的名称。到目前为止,我可以说的是: 在ButtonGroup中,我可以执行来返回。从那里,我可以执行,但似乎并不总是可行。我尝试了不同的测试,但结果却无法预测。 另外,我可以从中获取枚举。但是,然后我将不得不遍历每个按钮,只是检查并查看它是否被选中。 有没有更简单的方法来找出已选择了哪个按钮