appendix> Component> JList TOPUPPREVNEXT

javax.swing.JList

【主な機能】

リストを表示して選択することができます。

リストモデルを定義すると様々なことが可能ですが、 ここでは、配列モデルのリストの簡単な例を紹介します。

Java Standard Edition 7 (SE7)では、JList<E[ ]> に拡張されました。

【継承】

    java.lang.Object
          └ java.awt.Component
                └ java.awt.Container
                      └ javax.swing.JComponent
                             └ javax.swing.JList
JE

【主なコンストラクタ】

コンストラクタ機能
JList ( Object[] data ) data を縦にならべたリストを生成します。

【よく使われるメソッド】

メソッド機能
void addListSelectionListener ( ListSelectionListener lis ) 選択が変更された場合に通知されるリスナを登録します。
選択が変更されると、ListSelectionListener の valueChanged メソッドがコールバックされます。
int GetSelectedIndex ( ) 選択されたインデックスを返します。 複数選択された場合は先頭のインデックス、 選択されていない場合は -1 が返されます。
int[ ] getSelectedIndices ( ) 選択されたインデックスの昇順配列を返します。
Object getSelectedValue ( ) 選択された最初のセルの値を返します。選択されていない場合は null が返されます。
Object[ ] getSelectedValues ( ) 選択されたセルの値の配列を返します。
( )

【使用例1】

配列にある文字列をリストとして表示し、選択できるようにします。 選択したのち、ボタンのクリックを契機にして選択されている項目を表示します。

getSelectedIndexgetSelectedValue の例

プログラム ListDemo1.java (SE5 以前のプログラム)

実行例

選択(クリック)
ListDemo1-1.gif

表示(クリック)
ListDemo1-2.gif

表示結果
ListDemo1-3.gif

SE7 では ListDemo1.java に対して、

警告:[unchecked] raw型JListのメンバーとしてのJList(E[])への無検査呼出しです
が表示されるようになりました。 SE7 で推奨されるプログラム ListDemo1E.java を例示します。変更箇所は18行目のみです。

【使用例2】

Java 7 で JList の機能が拡張されました。 横方向にリストを1行で表示してみました。

プログラム ListDemo2.java (SE7 のプログラム)

実行例

選択(クリック)
ListDemo2-2.jpg

表示結果
ListDemo2-1.jpg

【使用例3】


更新日:2014-01-05