5

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

mKorbel
  • 109,525
  • 20
  • 134
  • 319
Neon Shri
  • 51
  • 1
  • 1
  • 3

3 Answers3

6
yourButtonGroup.clearSelection();
yourRadioButton.setSelected(true);
nico
  • 50,859
  • 17
  • 87
  • 112
ThatBuffDude
  • 451
  • 4
  • 11
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());
yolo
  • 17
  • 7
Carlos
  • 87
  • 5
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.

Robin
  • 36,233
  • 5
  • 47
  • 99