Reputation: 51
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
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
Reputation: 481
yourButtonGroup.clearSelection();
yourRadioButton.setSelected(true);
Upvotes: 6
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