setSelected определенный jradiobutton в buttongroup, основанный на команде действия - PullRequest
3 голосов
/ 16 января 2012

я хочу установить выбранное конкретное значение jradiobutton в кнопочной группе на основе actionCommand (/ имя конкретного jradiobutton).

это может быть сделано с помощью .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)}

Есть ли способ установитьSelected (true) rabbitButton на основе команды действия ()?

Ответы [ 3 ]

3 голосов
/ 14 июля 2014
yourButtonGroup.clearSelection();
yourRadioButton.setSelected(true);
2 голосов
/ 16 января 2012

Метод ButtonGroup#getElements дает перечисление AbstractButton экземпляров. AbstractButton#getActionCommand позволяет получить команду действия, а AbstractButton#getSelected позволяет изменить выбор.

Так что есть способ, но вам придется самим перебирать перечисление.

1 голос
/ 10 сентября 2016

Я создал небольшой метод, который позволяет мне устанавливать любую кнопку группы радио.Очень удобно, если вы не хотите использовать, если для какой-либо радиокнопки.

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