操作多个Checkbox项目的有效方法

时间:2013-04-08 05:29:26

标签: java swing performance jcheckbox

我在UI中有6个JCheckBox并基于一些用户操作,我必须改变JCheckBox的状态,比如启用,选择并使其不可见。因此,我没有将代码作为每个JCheckBox的单独代码,而是使用了以下代码,

  Object[] checkBoxCollection = null;
        checkBoxCollection = new Object[]{qualityChkBox1, qualityChkBox2, qualityChkBox3, qualityChkBox4, qualityChkBox5, qualityChkBox6};
        for (int i = 0; i < checkBoxCollection.length; i++) {
            JCheckBox checkBox = (JCheckBox) checkBoxCollection[i];
            if (checkBox.getText().equals("Name") || checkBox.getText().equals("RollNo")) {
                checkBox.setSelected(true);
            } else {
                checkBox.setSelected(false);
            }
        }

同样,我在代码中有一些地方,我会继续改变状态,例如setSelected(false)setSelected(true)

有什么方法可以做得比这更好吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

如图here所示,您可以使用EnumSet来定义代表模型相干状态的集合。然后,您的复选框可以共享一个公共Action,根据定义的状态对每个JCheckBox进行条件化。