setSelected a specific jradiobutton in a buttongroup based on action command

孤街浪徒 提交于 2019-12-20 01:42:02

问题


i want to setSelected a speicfic jradiobutton in a buttongroup based on the actionCommand(/name of the specific jradiobutton).

it could be done usind .setSelected(true)

for example,

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);

now.. without ,

{ rabbitButton.setSelected(true);} NOR {group.setSelected(rabbitButton.getModel,true)}

is there a way to setSelected(true) rabbitButton based on the action command()?


回答1:


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



回答2:


The ButtonGroup#getElements method gives you an enumeration of AbstractButton instances. The AbstractButton#getActionCommand allows you to retrieve the action command and the AbstractButton#getSelected allows you to alter the selection.

So there is a way, but you will have to loop over the enumeration yourself.




回答3:


I created a small method that allow me to set any radio group button. Very convenient if you don't want to use if for any radio button.

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

then

setButtonGroup(yourValue, yourButtonGroup.getElements());


来源:https://stackoverflow.com/questions/8875674/setselected-a-specific-jradiobutton-in-a-buttongroup-based-on-action-command

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!