List

Listクラスは Componentクラスの直接のサブクラスです。 ItemSelectableインターフェイスを実装しています。 java.awtパッケージに含まれます。 Listクラスは、 複数の項目から選択可能なスクローリング・リストの機能を提供します。 選択は排他的に1つのみにも、複数選択可能にも設定できます。
Listクラスには publicなフィールドは存在しません。 しかし、選択可能な項目の情報は内部に記憶しています。 この情報には、下記の publicなメソッドを利用してアクセスします。 オブジェクトのサイズや色などの基本的な性質は、 Componentクラスから継承し内部に記憶しています。

Listクラスのメソッド

Listクラスには、 3個のコンストラクタと44個のpublic なメソッドが用意されています。

コンストラクタ

rowsは一度に表示する項目数を設定します。 multipleModeは、複数の項目の選択を可能にするかどうかの設定です。
選択項目の初期化は、下記の publicなメソッドを利用します。 選択項目の個数が表示される項目数より多い場合には、自動的に Scrollbar が生成され、スクローリングが可能になります。

メッソド

ListはComponentのサブクラスの中でも最も複雑なものの1つです。 メソッドも多数あるので関連するものをまとめて解説しましょう。

  1. Listのサイズや機能に関するメソッド
  2. Listの選択項目の設定や変更に関するメソッド
  3. Listのアクション処理に関するメソッド
  4. その他のメソッド

Listのサイズや機能に関するメソッド

getItemCount()とcountItems()は選択項目の個数を返します。 機能は全く同じですが、 JDK1.1では getItemCount()を用いることが推奨されています。
getRows()は画面に一度に表示される選択項目の数を返します。
getVisibleIndex()は画面に表示されている 最後の選択項目のインデックスを返します。
makeVisible()は指定されたインデックスの選択項目が表示可能な位置に スクローリングを実行します。
getPreferredSize(),preferredSize()は指定された表示項目数に対応した 画面上での実際のサイズを返します。表示項目数の指定を省略した場合には 現在の表示項目数に対応するサイズを返します。JDK1.1では getPreferredSize() を使用することが推奨されています。
getMinimumSize(),minimumSize()は指定された表示項目数に対応した 画面上での最小のサイズを返します。表示項目数の指定を省略した場合には 現在の表示項目数に対応する最小のサイズを返します。JDK1.1では getMinimumSize() を使用することが推奨されています。
isMultipleMode(),allowsMultipleSelections()は、 Listが複数の項目の選択を許すかどうかを返します。 JDK1.1では isMultipleMode()を使用することが推奨されています。
setMultipleMode(),setMultipleSelections()は、 Listが複数の項目の選択を許すか否かを設定します。 JDK1.1では setMultipleMode()を使用することが推奨されています。

Listの選択項目の設定や変更に関するメソッド

getItem()は、指定されたインデックスに対応する選択項目を返します。
getItems()は、全選択項目の配列を返します。
add()とaddItem()は、指定された項目を追加します。機能は全く同じです。 (add()を使う方がお奨めのようです。) インデックスを指定した場合にはその場所に挿入されます。 インデックスの指定がない場合には末尾に追加されます。
replaceItem()は、 指定されたインデックスに対応する選択項目を新たに置き換えます。
remove()は、指定された選択項目もしくは指定されたインデックスに対応する 選択項目を削除します。
removeAll(),clear()は、全選択項目を削除します。 JDK1.1では removeAll()を使用することが推奨されています。
delItem()は指定されたインデックスあるいはインデックスの範囲内の選択項目を 削除します。ただし JDK1.1では、このメソッドは使用しないで、 remove()を使用することが推奨されています。
getSelectedItem()は、選択された項目を返します。
getSelectedItems()は、複数の選択された項目がある場合、 その一覧を配列として返します。
getSelectedIndex()は、選択された項目のインデックスを返します。
getSelectedIndexes()は、複数の選択された項目がある場合、 そのインデックスの一覧を配列として返します。
getSelectedObjects()は、 Selectableインターフェイスが実装を要求するメソッドです。 Listの場合、この処理はまさに getSelectedItems()ですから、 単に getSelectedItems()を呼び出すだけです。
select()は指定されたインデックスの項目が選択された状態に設定します。
deselect()は指定されたインデックスの項目が選択を解除された状態に設定します。
isIndexSelected()は、 指定されたインデックスの項目が選択された状態かどうかを返します。

JDK1.1のアクション処理に関するメソッド

Listは、ある項目が選択された時に addItemListener()によって登録された オブジェクトにアクション処理を実行するように通知します。 オブジェクトは ItemListenerを実装している必要があります。
同様に、ある項目をダブルクリックした時に addActionListener()によって登録された オブジェクトにアクション処理を実行するように通知します。 オブジェクトは ActionListenerを実装している必要があります。
removeItemListener(),removeActionListener()は、それらの Listenerの登録を 削除します。

  • その他のメソッド addNotify()は独自のデザインを利用する場合に、その登録のために呼び出し、 removeNotify()はその解除のために呼び出します。