Choice
Choiceクラスは Componentクラスの直接のサブクラスです。
ItemSelectableインターフェイスを実装しています。
java.awtパッケージに含まれます。
Choiceクラスは、
複数の項目から選択可能なメニューボタンの機能を提供します。
Choiceクラスには publicなフィールドは存在しません。
しかし、選択可能な項目の情報は内部に記憶しています。
この情報には、下記の publicなメソッドを利用してアクセスします。
オブジェクトのサイズや色などの基本的な性質は、
Componentクラスから継承し内部に記憶しています。
Choiceクラスのメソッド
Choiceクラスには、
1個のコンストラクタと17個のpublic なメソッドが用意されています。
コンストラクタ
選択項目の初期化は、下記の publicなメソッドを利用します。
メッソド
- public int getItemCount()
- public int countItems()
- public String getItem(int index)
- public synchronized void add(String item)
- public synchronized void addItem(String item)
- public synchronized void insert(String item, int index)
- public synchronized void remove(String item)
- public synchronized void remove(int index)
- public synchronized void removeAll()
- public synchronized String getSelectedItem()
- public int getSelectedIndex()
- public synchronized Object[] getSelectedObjects()
- public synchronized void select(String item)
- public synchronized void select(int index)
- public synchronized void addItemListener(ItemListener l)
- public synchronized void removeItemListener(ItemListener l)
- public void addNotify()
getItemCount()とcountItem()は選択項目の個数を返します。
機能は全く同じですが、
JDK1.1では getItemCount()を用いることが推奨されています。
getItem()は指定されたインデックスに対応する選択項目を返します。
add()とaddItem()は、指定された項目を末尾に追加します。機能は全く同じです。
(特にどちらがお奨めというわけでもないようです?)
insert()は指定された項目を指定されたインデックスの場所に挿入します。
remove()は指定された項目もしくはインデックスに対応する項目を削除します。
removeAll()は現在の選択項目をすべて削除します。
getSelectedItem()は選択されている項目を返します。
getSelectedIndex()は選択されている項目のインデックスを返します。
getSelectedObjects()は、
ItemSelectableインターフェイスが実装を要求しているメソッドです。
一般には選択されたサブ・アイテムの配列を返す仕様になっていますが、
Choice の場合は、常に選択される項目は1つです。したがって、
選択された項目を長さ1の配列の先頭に入れて返します。
どの項目も選択されていないか、
選択項目自体が存在しない場合には nullを返します。
select()は、指定された項目もしくはインデックスに対応する項目が選択されている
状態に設定します。
addItemListener()は Choiceにアクション処理のオブジェクトを追加し、
removeItemListener()は Choiceからアクション処理のオブジェクトを削除します。
登録できるオブジェクトは必ず ItemListenerを実装していなくてはいけません。
複数のオブジェクトを登録することができます。
addNotify()は独自のデザインを利用する場合に、その登録のために呼び出します。