List
Listクラスは Componentクラスの直接のサブクラスです。
ItemSelectableインターフェイスを実装しています。
java.awtパッケージに含まれます。
Listクラスは、
複数の項目から選択可能なスクローリング・リストの機能を提供します。
選択は排他的に1つのみにも、複数選択可能にも設定できます。
Listクラスには publicなフィールドは存在しません。
しかし、選択可能な項目の情報は内部に記憶しています。
この情報には、下記の publicなメソッドを利用してアクセスします。
オブジェクトのサイズや色などの基本的な性質は、
Componentクラスから継承し内部に記憶しています。
Listクラスのメソッド
Listクラスには、
3個のコンストラクタと44個のpublic なメソッドが用意されています。
コンストラクタ
- public List()
- public List(int rows)
- public List(int rows, boolean multipleMode)
rowsは一度に表示する項目数を設定します。
multipleModeは、複数の項目の選択を可能にするかどうかの設定です。
選択項目の初期化は、下記の publicなメソッドを利用します。
選択項目の個数が表示される項目数より多い場合には、自動的に Scrollbar
が生成され、スクローリングが可能になります。
メッソド
ListはComponentのサブクラスの中でも最も複雑なものの1つです。
メソッドも多数あるので関連するものをまとめて解説しましょう。
- Listのサイズや機能に関するメソッド
- Listの選択項目の設定や変更に関するメソッド
- Listのアクション処理に関するメソッド
- その他のメソッド
Listのサイズや機能に関するメソッド
- public int getItemCount()
- public int countItems()
- public int getRows()
- public int getVisibleIndex()
- public synchronized void makeVisible(int index)
- public Dimension getPreferredSize()
- public Dimension preferredSize()
- public Dimension getPreferredSize(int rows)
- public Dimension preferredSize(int rows)
- public Dimension getMinimumSize()
- public Dimension minimumSize()
- public Dimension getMinimumSize(int rows)
- public Dimension minimumSize(int rows)
- public boolean isMultipleMode()
- public boolean allowsMultipleSelections()
- public synchronized void setMultipleMode(boolean b)
- public synchronized void setMultipleSelections(boolean b)
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の選択項目の設定や変更に関するメソッド
- public String getItem(int index)
- public synchronized String[] getItems()
- public void add(String item)
- public void addItem(String item)
- public synchronized void add(String item, int index)
- public synchronized void addItem(String item, int index)
- public synchronized void replaceItem(String newValue, int index)
- public synchronized void remove(String item)
- public synchronized void remove(int position)
- public synchronized void removeAll()
- public synchronized void clear()
- public synchronized void delItem(int position)
- public synchronized void delItems(int start, int end)
- public synchronized String getSelectedItem()
- public synchronized String[] getSelectedItems()
- public synchronized int getSelectedIndex()
- public synchronized int[] getSelectedIndexes()
- public Object[] getSelectedObjects()
- public synchronized void select(int index)
- public synchronized void deselect(int index)
- public boolean isIndexSelected(int index)
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のアクション処理に関するメソッド
- public synchronized void addItemListener(ItemListener l)
- public synchronized void removeItemListener(ItemListener l)
- public synchronized void addActionListener(ActionListener l)
- public synchronized void removeActionListener(ActionListener l)
Listは、ある項目が選択された時に addItemListener()によって登録された
オブジェクトにアクション処理を実行するように通知します。
オブジェクトは ItemListenerを実装している必要があります。
同様に、ある項目をダブルクリックした時に addActionListener()によって登録された
オブジェクトにアクション処理を実行するように通知します。
オブジェクトは ActionListenerを実装している必要があります。
removeItemListener(),removeActionListener()は、それらの Listenerの登録を
削除します。
その他のメソッド
- public void addNotify()
- public void removeNotify()
addNotify()は独自のデザインを利用する場合に、その登録のために呼び出し、
removeNotify()はその解除のために呼び出します。