4

これが私の質問です。誰かが Java でチェックボックスを作成し、ユーザーがさまざまなオプションを選択できるように GUI インターフェイスでそれを使用しているとしましょう。次に、プログラマーはチェックボックス内にボタンを作成して、ユーザーがそのボタンをチェックすると、他のすべてのオプションもチェックされます.そして、彼がそのボタンのチェックを外すと、もちろん他のすべてのボタンがチェックされなくなります.Javaでそれはどのように可能ですか?

例 :

o1 = new JCheckBox("Option 1");
o2 = new JCheckBox("Option 2");
o3 = new JCheckBox("Option 3");
All = new JCheckBox("All");

.....

CheckBoxHandler listener = new CheckBoxHandler();
All.addItemListener(listener);

……

次のコードが、ItemListener を実装するときに作成されたクラスにあると仮定します。

public class CheckBoxHandler implements ItemListener
{
 public void itemStateChanged(ItemEvent e)
  {
    if (e.getSource()==All)
      if (e.getStateChange()==ItemEvent.SELECTED)
        {
          .... <------ (!!!)Here inside I am currently stack and I do not know how to 
          add the correct code in order to have all the other buttons checked.
        }
   }
 }

提供されたヘルプは本当に感謝しています:)

4

3 に答える 3

2

(から継承)setSelected()を呼び出すことができます:JCheckboxAbstractButton

...
o1.setSelected(true); // or false
...

@Juvanis が言及しているように、o1、 、o2およびの 3 つの異なる参照を持つ代わりにo3、配列を使用する必要があります。次に、次のようなことができます

for( JCheckbox cb : checkboxes ) {
    cb.setSelected(true);
}

配列内のすべてのチェックボックスをオンに設定します。

于 2013-06-24T14:34:19.697 に答える
2

配列の概念を利用します。

JCheckBox[] checkboxes = new JCheckBox[10];

すべてのチェックボックスに操作を適用する必要がある場合は、配列を反復処理します。

for( JCheckbox cb : checkboxes )
   cb.doStuff();
于 2013-06-24T14:34:52.943 に答える