如何从ButtonGroup中选择JRadioButton?

时间:2015-03-01 23:56:16

标签: java jbutton jradiobutton

我尝试在java中创建一个图像创建程序(使用square / circles / etc) 我在ButtonGroup中有一些JRadioButtons,它们象征着我的程序的“模式”(如果我绘制一个圆圈,其他东西/如果我移动对象)。 当我点击不同模式时,“模式”会发生变化,我可以按照自己的意愿行事。 我的问题是当我尝试通过双击对象来更改模式。我是在MouseListener中完成的。我可以选择对象,更改“模式”,但我无法更改ButtonGroup上选定的JRadio按钮。 我搜索了一会儿(因为setSelected()不起作用)。我知道ButtonGroup只能一次选择一个按钮。我怎样才能取消选择一个并选择我需要的那个(第一个)。 感谢您的任何建议。

2 个答案:

答案 0 :(得分:0)

来自文档:

  

public void setSelected(boolean b)

     

设置按钮的状态。请注意,此方法不会触发   一个actionEvent。调用doClick来执行程序操作更改。

如上所述,使用:

radioBtn.doClick();

答案 1 :(得分:0)

我创建了一个小方法,允许我设置任何单选按钮组。如果您不想使用if用于任何单选按钮,则非常方便。

public void setButtonGroup(int rdValue, Enumeration elements ){
    while (elements.hasMoreElements()){
        AbstractButton button = (AbstractButton)elements.nextElement();
        if(Integer.parseInt(button.getActionCommand())==rdValue){
            button.setSelected(true);
        }
    }
}

然后

setButtonGroup(yourValue, yourButtonGroup.getElements());