Java - JRadioButton被选中

时间:2014-11-26 10:01:39

标签: java swing

我有这样简单的检查:

boolean isPressed;


 if ((jRadioButton1.isSelected() == false) || (jRadioButton2.isSelected() == false) || (jRadioButton3.isSelected() == false)) {
        isPressed = false;
    } else {
        isPressed = true;
    }
    System.out.println(isPressed);

为什么即使我在面板中标记RadioButton,我总是会弄错?

2 个答案:

答案 0 :(得分:1)

你必须在if子句中使用和(&&)而不是或(||)。

if ((jRadioButton1.isSelected() == false) &&
      (jRadioButton2.isSelected() == false) && 
      (jRadioButton3.isSelected() == false)) {
        isPressed = false;
    } else {
        isPressed = true;
    }
    System.out.println(isPressed);

答案 1 :(得分:1)

您的逻辑意味着如果没有按下任何一个单选按钮,则isPressed为false。

尝试切换逻辑

if ((jRadioButton1.isSelected() == true) || (jRadioButton2.isSelected() == true) || (jRadioButton3.isSelected() == true)) {
    isPressed = true;
} else {
    isPressed = false;
}
System.out.println(isPressed);

编辑:可以简化为

isPressed = (jRadioButton1.isSelected() || jRadioButton2.isSelected() || jRadioButton3.isSelected())