我有这样简单的支票:
boolean isPressed;
if ((jRadioButton1.isSelected() == false) || (jRadioButton2.isSelected() == false) || (jRadioButton3.isSelected() == false)) {
isPressed = false;
} else {
isPressed = true;
}
System.out.println(isPressed);为什么我总是出错,即使我在面板中标记了RadioButton?
发布于 2014-11-26 10:07:19
您的逻辑意味着,如果没有按单选按钮,那么isPressed就是假的。
试着转换逻辑
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()) 发布于 2014-11-26 10:05:25
您必须在if子句中使用and (&&)而不是或(\)。
if ((jRadioButton1.isSelected() == false) &&
(jRadioButton2.isSelected() == false) &&
(jRadioButton3.isSelected() == false)) {
isPressed = false;
} else {
isPressed = true;
}
System.out.println(isPressed);https://stackoverflow.com/questions/27146168
复制相似问题