Neon Shri
Neon Shri

Reputation: 51

setSelected a specific jradiobutton in a buttongroup based on action command

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()?

Upvotes: 5

Views: 12290

Answers (3)

Carlos
Carlos

Reputation: 87

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

Upvotes: 3

ThatBuffDude
ThatBuffDude

Reputation: 481

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

Upvotes: 6

Robin
Robin

Reputation: 36601

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.

Upvotes: 2

Related Questions