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