GUI の構成ブロックであるコンポーネントを使用する |
Checkbox クラスは、"オン" "オフ" の 2 つの状態のどちらかをもつボタン、すなわちチェックボックス を提供する。 ユーザがチェックボックスをクリックすると、チェックボックスの状態が変化し、アクションイベントが生成される。 ユーザから選択可能な項目グループを用意する方法としては、ほかに 選択肢、リスト、メニューがある。チェックボックスのグループの中で、同時に 1 つのチェックボックスしか "オン" にしたくない場合は、CheckboxGroup オブジェクトを追加して、チェ ックボックス群の状態を監視することができる。 (この UI 要素はラジオボタン とも呼ばれる。)
以下に、2 つの列のチェックボックスをもつアプレットを示す。 左側の 3 つは独立したチェックボックスであり、3 つ全部を選択することも可能で ある。 右側の 3 つは CheckboxGroup オブジェクトによって連繋されたチェックボックスで ある。ここでは、 CheckboxGroup により、同時には 1 つのチェックボックスしか選択できないように なっている。具体的には、チェックボックスグループは何も選択されていない状態で表示させることができるが、いったんユーザが 1 つのチェックボックスを選択すると、それ以降は常にただ 1 つのチェックボックスが選択されることになる 。
次に、ユーザが Checkbox 1、Checkbox 2、Checkbox 2 (再度) をクリックし、その後 Checkbox 4、Checkbox 5、Checkbox 5 (再度) をクリックした後のアプレットの様子を示す。
プログラム全体も参照できる。 以下に、チェックボックスの両方のグループを作成するコードを示す。 2 番目のチェックボックスは、CheckbboxGroup によって制御された、相互排他のチェックボックスグループであることに注意する。
上に示した Checkbox メソッドのほかに、Checkbox には便利なメソッドがあと 2 つある。 1 つはPanel p1, p2; Checkbox cb1, cb2, cb3; //これらは独立したチェックボックスである。 Checkbox cb4, cb5, cb6; //これらはグループの一部のチェックボックスである。 CheckboxGroup cbg; cb1 = new Checkbox(); //デフォルトの状態は "オフ" (false) である。 cb1.setLabel("Checkbox 1"); cb2 = new Checkbox("Checkbox 2"); cb3 = new Checkbox("Checkbox 3"); cb3.setState(true); //状態を "オン" (true) に設定する。 . . . cbg = new CheckboxGroup(); cb4 = new Checkbox("Checkbox 4", cbg, false); //初期状態: オフ (false) cb5 = new Checkbox("Checkbox 5", cbg, false); //初期状態: オフ cb6 = new Checkbox("Checkbox 6", cbg, false); //初期状態: オフgetCheckboxGroup()
、もう 1 つはsetCheckboxGroup()
である。 また、コード例で使用した単体の CheckboxGroup 構築子のほかに、CheckboxGroup はgetCurrent()
とsetCurrent()
メソッドも定義する 。 これらのメソッドは現在選択されている Checkbox を (それぞれ) 調べるか、設定する。
GUI の構成ブロックであるコンポーネントを使用する |