我想基于actionCommand(/特定jradiobutton的名称)在一个buttongroup中设置一个特定的jradiobutton。
可以使用.setSelected(true)
来完成例如,
JRadioButton rabbitButton = new JRadioButton("rabbit");
rabbitButton .setActionCommand("rabbit");
JRadioButton pigButton = new JRadioButton("pig");
pigButton .setActionCommand("pig");
ButtonGroup group = new ButtonGroup();
group.add(rabbitButton);
group.add(pigButton);
现在..没有,
{rabbitButton.setSelected(true);} NOR {group.setSelected(rabbitButton.getModel,true)}
有没有办法根据动作命令()设置setSelected(true)rabbitButton?
答案 0 :(得分:2)
ButtonGroup#getElements
方法为您提供AbstractButton
个实例的枚举。 AbstractButton#getActionCommand
允许您检索操作命令,AbstractButton#getSelected
允许您更改选择。
所以有一种方法,但你必须自己遍历枚举。
答案 1 :(得分:2)
yourButtonGroup.clearSelection();
yourRadioButton.setSelected(true);
答案 2 :(得分:1)
我创建了一个小方法,允许我设置任何单选按钮组。如果您不想使用if用于任何单选按钮,则非常方便。
public void setButtonGroup(String rdValue, Enumeration elements ){
while (elements.hasMoreElements()){
AbstractButton button = (AbstractButton)elements.nextElement();
if(button.getActionCommand().equals(rdValue)){
button.setSelected(true);
}
}
}
然后
setButtonGroup(yourValue, yourButtonGroup.getElements());