如何检查是否选择了 JRadioButtons?

How to check if JRadioButtons are selected?

我试过了

if(jRadioButton1.isSelected() ||(jRadioButton2.isSelected()) {
      jGenderGroup.getSelection().getActionCommand();
} else {
    jGndrErrorLabel.setText("Select gender.")
}  

但是控制器不会在突出显示的行之后停止,它会继续到最后一行并抛出 NullPointerException

customers.setGender(jGenderGroup.getSelection().getActionCommand());

客户是 POJO class。

我怎样才能摆脱这个?

试试这个:)

jRadioButton1.setActionCommand("Male");  
jRadioButton2.setActionCommand("Female");
if(!jGenderGroup.isChecked()){
jLable1.setText("Please Select Gender");
}
if(jRadioButton1.isSelected())
{
  //Male
}
else if(jRadioButton2.isSelected())
{
  //Female
}
else
{
  // no radio button has been selected
}

或像

这样修改你的代码
if(jGenderGroup.getSelection() != null)
 {      
     customer.setGender(jGenderGroup.getSelection().getActionCommand())
} else {
    jGndrErrorLabel.setText("Select gender.")
}  

我只是删除了ButtonGroup jGenderGroup
并最后执行 jRadioButton1jRadioButton2 的条件,而不是中间的,正如我评论的那样,我无法将 String gender = new String(); 设置为
gender = jRadioButton1.getActionCommand();
由于 POJO
在条件块中 所以我就这样把它放在最后:

String gender = new String();
        if (jRadioButton1.isSelected()) {
            gender = jRadioButton1.getActionCommand();
        } else if (jRadioButton2.isSelected()) {
            gender = jRadioButton2.getActionCommand();
        } else {
            jGndrErrorLabel.setText("Select gender.");
            jGndrErrorLabel.setForeground(Color.red);
        } 

这是我所期望的
感谢您付出的所有时间和努力。