Mal*_*ngh 2 java swing jradiobutton buttongroup
如何获取selected的值radioButton?我尝试使用buttonGroup1.getSelection().getActionCommand()(如此处的一些答案中发布的)但它不起作用。另外,我暂时使用这段代码,但我想知道这是一个好的做法吗?
//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;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用buttonGroup1.getSelection().getActionCommand()
这种方法可行,但由于某种原因,您似乎需要在创建按钮时手动设置操作命令。例如:
JRadioButton maleButton = new JRadioButton( "Male" );
maleButton.setActionCommand( maleButton.getText() );
Run Code Online (Sandbox Code Playgroud)
这实际上对我来说似乎有点错误,因为如果未设置操作命令,操作命令通常默认为文本。
如果您有多个按钮,您可能应该这样做:
String getSelectedButton()
{
for (Enumeration<AbstractButton> buttons = buttonGroup1.getElements(); buttons.hasMoreElements();) {
AbstractButton button = buttons.nextElement();
if (button.isSelected()) {
return button.getText();
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)