java - 令人困惑的复选框问题

标签 java checkbox

我有几个复选框和 2 个计数器...counter1 使用以下代码计算有多少个复选框被选中

if (isChecked) {
    counter++;
} else {
    counter--;
}

这就像一个魅力,但现在我想要 counter2 跟踪属于“绿色”组的选中复选框...例如复选框 1、2、4 和 7 属于“绿色”组和复选框 3、5、6、8 不是。

if (chk1.isChecked() || chk2.isChecked() || chk4.isChecked() || chk7.isChecked()) {
    counter2++;
}

我尝试使用另一个 if else 来查看有多少“绿色”组被选中 但是当我使用

System.out.println(counter2);

然后我总是得到 counter1 的值。 为什么会这样?是因为 counter1 检查所有选中的框并否决 counter2 吗?

最佳答案

int counter2 = 0; // reset counter    
for (Checkbox chk : allCheckboxes)  
    {   
       if (chk.isChecked() && isGreen(chk)) {
           counter2++;
       }  
    }   
    //...

和实用方法

private boolean isGreen(Checkbox chk)  
{  
 // return true is checkbox is green  
}

关于java - 令人困惑的复选框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12107791/

相关文章:

JavaFX:当用户选中复选框时,CheckBoxTableCell 获取 ActionEvent

java - Eclipse 中潜在的空指针访问——看似微不足道的例子

java - 如何在java中查找包含正则表达式的单词

java - H2 数据库/Bitronix 不带 Java EE

checkbox - 如何将 Yii2 的 ActiveForm 复选框设置为选中状态?

python - 通过单击另一个复选框禁用复选框 (HTML/DJANGO)

javascript - 如何根据选定的复选框验证表值

java - 开源 Java 日期和时间选择器

java - 将 Timestamp 与另一个 Timestamp 对象进行比较

jquery-mobile - 为什么我无法取消选中 JQuery Mobile 中的复选框?