我有这样简单的检查:
boolean isPressed;
if ((jRadioButton1.isSelected() == false) || (jRadioButton2.isSelected() == false) || (jRadioButton3.isSelected() == false)) {
isPressed = false;
} else {
isPressed = true;
}
System.out.println(isPressed);
为什么即使我在面板中标记RadioButton,我总是会弄错?
答案 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())