2014-09-13 2 views
1

Как получить значение выбранного radioButton? Я пробовал использовать buttonGroup1.getSelection().getActionCommand() (как указано в некоторых ответах здесь), но он не работает. Кроме того, я временно использую этот код, но я хочу знать, это хорошая практика или нет?Как получить значение выбранного radioButton buttonGroup

//Consider that maleRButton and femaleRButton are two radioButtons of 
//same buttonGroup 
String getGender() 
{ 
    if(maleRButton.isSelected()) 
    { 
     return "Male"; 
    } 
    else if(femaleRButton.isSelected()) 
    { 
     return "Female"; 
    } 
    else 
    { 
     return null; 
    } 
} 

ответ

3

Я попытался с помощью buttonGroup1.getSelection(). GetActionCommand()

Такой подход будет работать, но по какой-то причине, похоже, вручную нужно задать команду действий при создании кнопка. Например:

JRadioButton maleButton = new JRadioButton("Male"); 
maleButton.setActionCommand(maleButton.getText()); 

Это acutally кажется немного бага мне, так как обычно командные действия по умолчанию к тексту, если команда действия не установлен.

1

Это не нормально, когда у вас есть много кнопок так что этот путь

String getSelectedButton() 
{ 
    for (Enumeration<AbstractButton> buttons = buttonGroup1.getElements(); buttons.hasMoreElements();) { 
      AbstractButton button = buttons.nextElement(); 
      if (button.isSelected()) { 
       return button.getText() 
      } 
     } 
return null; 
} 
1

String gender=group.getSelection().getActionCommand();

Это будет работать, но он показывает нулевое значение.

+0

Я просто установил radio1.setActionCommand («button1»), и он будет работать (radio1is мое имя JRadioBurron) –