1

UI に 6 つの JCheckBox があり、1 つのユーザー操作に基づいて、有効化、選択、非表示にするなど、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)ます。

これよりもうまくできる方法はありますか?

前もって感謝します。

4

1 に答える 1

2

ここに示すように、 を使用EnumSetして、モデルの一貫した状態を表すセットを定義できる場合があります。次に、チェック ボックスは、その定義された状態に従ってActionそれぞれを条件付ける共通のものを共有できます。JCheckBox

于 2013-04-08T07:06:38.387 に答える