JAVA:将替代(||)放入循环中?

标签 java swing loops checkbox jbutton

我有一个简短的问题。我想让我的代码更短,我想知道我是否可以将复选框下方的某种方式放入循环中。这部分代码的含义是在至少选中一个复选框的情况下启用“查找”按钮。预先感谢您提供的每条提示。

    if (checkBoxes[0].isSelected() == true || checkBoxes[1].isSelected() == true
            || checkBoxes[2].isSelected() == true || checkBoxes[3].isSelected() == true || checkBoxes[4].isSelected() == true
            || checkBoxes[5].isSelected() == true || checkBoxes[6].isSelected() == true || checkBoxes[7].isSelected() == true
            || checkBoxes[8].isSelected() == true || checkBoxes[9].isSelected() == true || checkBoxes[10].isSelected() == true
            || checkBoxes[11].isSelected() == true || checkBoxes[12].isSelected() == true || checkBoxes[13].isSelected() == true
            || checkBoxes[14].isSelected() == true || checkBoxes[15].isSelected() == true || checkBoxes[16].isSelected() == true
            || checkBoxes[17].isSelected() == true || checkBoxes[18].isSelected() == true || checkBoxes[19].isSelected() == true
            || checkBoxes[20].isSelected() == true || checkBoxes[21].isSelected() == true) {
        button.setEnabled(true);

最佳答案

当然可以:

boolean found = false;
for (int i = 0; i < checkBoxes.length && !found; i++) {
    found = checkBoxes[i].isSelected();
}
if (found) {
    button.setEnabled(true);
}

或者您可以避免使用 boolean 变量并在找到第一个选中的复选框时跳出循环:

for (int i = 0; i < checkBoxes.length; i++) { // you can also replace this with enhanced
                                              // for loop
    if (checkBoxes[i].isSelected()) {
        button.setEnabled(true);
        break;
    }
}

关于JAVA:将替代(||)放入循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42783561/

相关文章:

java - GSON 无法转换通用 <T> 属性

java - 将 HTML 内容设置为 JTextPane 会扰乱 System.out 重定向

java - 通过循环添加 JButton 导致最后一个 Button 过大

java - 如何使用 lambda 和流避免此映射的嵌套循环

java - 将 servlet 请求重定向到另一个 servlet

java - 设置上下文路径而不考虑 Tomcat 中的 WAR 版本名称

java - 可以解析但不能评估 xtext 算术示例

java - 返回填充的 JComboBox 的值并使用该值填充 JTextField

java - 如何创建从 Java 调用的深入报告?

Python:迭代具有不同维数的列表,有通用的方法吗?