繁体   English   中英

setSelected基于动作命令在buttongroup中的特定jradiobutton

[英]setSelected a specific jradiobutton in a buttongroup based on action command

我想根据actionCommand(/特定jradiobutton的名称)在一个buttongroup中设置一个特定的jradiobutton。

它可以用usind .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?

yourButtonGroup.clearSelection();
yourRadioButton.setSelected(true);

ButtonGroup#getElements方法为您提供了AbstractButton实例的枚举。 AbstractButton#getActionCommand允许您检索动作命令, AbstractButton#getSelected允许您更改选择。

所以有一种方法,但你必须自己遍历枚举。

我创建了一个小方法,允许我设置任何单选按钮组。 如果您不想使用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());

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM