- すべての実装されたインタフェース:
- Serializable,- Cloneable,- ListSelectionModel
 警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。 
- 導入されたバージョン:
- 1.2
- 関連項目:
- 
フィールドのサマリーフィールドインタフェース javax.swing.ListSelectionModelで宣言されたフィールドMULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明void選択範囲の変更が通知されるリスナーをリストに追加します。voidaddSelectionInterval(int index0, int index1) 選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との和集合に変更します。void選択範囲を空のセットに変更します。clone()この選択モデルの複製を、同じ選択状態で返します。protected voidfireValueChanged(boolean isAdjusting) 一連の調整が終了したことをリスナーに通知します。protected voidfireValueChanged(int firstIndex, int lastIndex) firstIndex、lastIndex間で選択の値が変更されたことをListSelectionListenersに通知します。protected voidfireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) クローズ間隔firstIndex、lastIndexの選択値が変更され、これが一連の調整の最終変更であるかどうかをListSelectionListenersに通知します。intsetSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。intsetSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。<T extends EventListener>
 T[]getListeners(Class<T> listenerType) このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。このDefaultListSelectionModelに登録されたすべてのリスト選択リスナーの配列を返します。int最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。int最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。int現在の選択モードを返します。boolean選択に一連の変更を適用中である場合はtrueを返します。voidinsertIndexInterval(int index, int length, boolean before) indexの前/後から始まるlengthインデックスを挿入します。booleanleadAnchorNotificationEnabledフラグの値を返します。booleanisSelectedIndex(int index) 指定のインデックスが選択されている場合にtrueを返します。booleanインデックスが選択されていない場合にtrueを返します。voidmoveLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。voidremoveIndexInterval(int index0, int index1) 選択モデルから、index0とindex1を両端として含む区間のインデックスを削除します。void選択範囲の変更が通知されるリスナーをリストから削除します。voidremoveSelectionInterval(int index0, int index1) 選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との差集合に変更します。voidsetAnchorSelectionIndex(int anchorIndex) アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。voidsetLeadAnchorNotificationEnabled(boolean flag) leadAnchorNotificationEnabledフラグの値を設定します。voidsetLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。voidsetSelectionInterval(int index0, int index1) 選択範囲をindex0以上index1以下に変更します。voidsetSelectionMode(int selectionMode) 選択モードを設定します。voidsetValueIsAdjusting(boolean isAdjusting) 選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjustingプロパティを設定します。toString()このオブジェクトのプロパティを表示および識別する文字列を返します。クラス java.lang.Objectで宣言されたメソッドequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitインタフェース javax.swing.ListSelectionModelで宣言されたメソッドgetSelectedIndices, getSelectedItemsCount
- 
フィールド詳細- 
listenerListprotected EventListenerList listenerListリスナーのリスト。
- 
leadAnchorNotificationEnabledprotected boolean leadAnchorNotificationEnabledリード・アンカー通知が有効かどうか。
 
- 
- 
コンストラクタの詳細- 
DefaultListSelectionModelpublic DefaultListSelectionModel()DefaultListSelectionModelを構築します。
 
- 
- 
メソッドの詳細- 
getMinSelectionIndexpublic int getMinSelectionIndex()最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。- 定義:
- getMinSelectionIndex、インタフェース- ListSelectionModel
- 戻り値:
- 最初に選択されたインデックス、または選択範囲が空の場合は -1。
 
- 
getMaxSelectionIndexpublic int getMaxSelectionIndex()最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。- 定義:
- getMaxSelectionIndex、インタフェース- ListSelectionModel
- 戻り値:
- 最後に選択されたインデックス、または選択範囲が空の場合は -1。
 
- 
getValueIsAdjustingpublic boolean getValueIsAdjusting()選択に一連の変更を適用中である場合はtrueを返します。- 定義:
- getValueIsAdjusting、インタフェース- ListSelectionModel
- 戻り値:
- 選択に一連の変更を適用中である場合はtrue
- 関連項目:
 
- 
getSelectionModepublic int getSelectionMode()現在の選択モードを返します。- 定義:
- getSelectionMode、インタフェース- ListSelectionModel
- 戻り値:
- 現在の選択モード
- 関連項目:
 
- 
setSelectionModepublic void setSelectionMode(int selectionMode) 選択モードを設定します。 使用可能な選択モードは、次のリストのとおりです。- ListSelectionModel.SINGLE_SELECTION- 1回に1つのリスト・インデックスのみを選択できます。 このモードでは、- setSelectionIntervalメソッドと- addSelectionIntervalメソッドは同等であり、どちらも現在の選択を、2番目の引数で表されるインデックス(「リード・インデックス」)で置き換えます。
- ListSelectionModel.SINGLE_INTERVAL_SELECTION- 1回に1つの連続区間のみを選択できます。 このモードでは、- addSelectionIntervalは、指定された間隔が既存の選択範囲に隣接していたりオーバーラップしていたりしないかぎり- setSelectionIntervalと同様に動作する(現在の選択を置き換える)ため、選択範囲を拡張するために使用できます。
- ListSelectionModel.MULTIPLE_INTERVAL_SELECTION- このモードでは、選択対象に制限はありません。
 - 定義:
- setSelectionMode、インタフェース- ListSelectionModel
- パラメータ:
- selectionMode- 選択モード
- 例外:
- IllegalArgumentException- 許可された選択モードでない場合
- 関連項目:
 
- 
isSelectedIndexpublic boolean isSelectedIndex(int index) 指定のインデックスが選択されている場合にtrueを返します。- 定義:
- isSelectedIndex、インタフェース- ListSelectionModel
- パラメータ:
- index- インデックス
- 戻り値:
- true指定されたインデックスが選択されている場合
 
- 
isSelectionEmptypublic boolean isSelectionEmpty()インデックスが選択されていない場合にtrueを返します。- 定義:
- isSelectionEmpty、インタフェース- ListSelectionModel
- 戻り値:
- インデックスが選択されていない場合はtrue。
 
- 
addListSelectionListenerpublic void addListSelectionListener(ListSelectionListener l) 選択範囲の変更が通知されるリスナーをリストに追加します。- 定義:
- addListSelectionListener、インタフェース- ListSelectionModel
- パラメータ:
- l- ListSelectionListener
- 関連項目:
- 
- ListSelectionModel.removeListSelectionListener(javax.swing.event.ListSelectionListener)
- ListSelectionModel.setSelectionInterval(int, int)
- ListSelectionModel.addSelectionInterval(int, int)
- ListSelectionModel.removeSelectionInterval(int, int)
- ListSelectionModel.clearSelection()
- ListSelectionModel.insertIndexInterval(int, int, boolean)
- ListSelectionModel.removeIndexInterval(int, int)
 
 
- 
removeListSelectionListenerpublic void removeListSelectionListener(ListSelectionListener l) 選択範囲の変更が通知されるリスナーをリストから削除します。- 定義:
- removeListSelectionListener、インタフェース- ListSelectionModel
- パラメータ:
- l- ListSelectionListener
- 関連項目:
 
- 
getListSelectionListenerspublic ListSelectionListener[] getListSelectionListeners()このDefaultListSelectionModelに登録されたすべてのリスト選択リスナーの配列を返します。- 戻り値:
- このモデルのすべてのListSelectionListener。リスト選択リスナーが現在登録されていない場合は空の配列
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
fireValueChangedprotected void fireValueChanged(boolean isAdjusting) 一連の調整が終了したことをリスナーに通知します。- パラメータ:
- isAdjusting- 一連の調整の最後の変更である場合はtrue
 
- 
fireValueChangedprotected void fireValueChanged(int firstIndex, int lastIndex) firstIndex、lastIndex間で選択の値が変更されたことをListSelectionListenersに通知します。- パラメータ:
- firstIndex- 範囲の先頭のインデックス
- lastIndex- 範囲の最後のインデックス
 
- 
fireValueChangedprotected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) クローズ間隔firstIndex、lastIndexの選択値が変更され、これが一連の調整の最終変更であるかどうかをListSelectionListenersに通知します。- パラメータ:
- firstIndex- 範囲の先頭のインデックス
- lastIndex- 範囲の最後のインデックス
- isAdjusting- 一連の調整の最後の変更である場合はtrue
- 関連項目:
 
- 
getListenerspublic <T extends EventListener> T[] getListeners(Class<T> listenerType) このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。FooListenerは、addFooListenerメソッドを使用して登録されます。FooListener.classなどのクラス・リテラルを使用してlistenerType引数を指定できます。 たとえば、このリスト選択リスナーに対するDefaultListSelectionModelインスタンスmの照会は次のコードで行います。ListSelectionListener[] lsls = (ListSelectionListener[])(m.getListeners(ListSelectionListener.class)); このようなリスナーがない場合は空の配列を返します。- 型パラメータ:
- T-- EventListenerクラスの型がリクエストされています
- パラメータ:
- listenerType- 要求されるリスナーの型;- java.util.EventListenerの下位インタフェースを指定
- 戻り値:
- このモデルにFooListenerとして登録されているすべてのオブジェクトの配列。またはこのようなリスナーが登録されていない場合は空の配列
- 例外:
- ClassCastException-- listenerTypeで、- java.util.EventListenerを実装するクラスまたはインタフェースが指定されなかった場合
- 導入されたバージョン:
- 1.3
- 関連項目:
 
- 
setLeadAnchorNotificationEnabledpublic void setLeadAnchorNotificationEnabled(boolean flag) leadAnchorNotificationEnabledフラグの値を設定します。- パラメータ:
- flag-- leadAnchorNotificationEnabledのブール値
- 関連項目:
 
- 
isLeadAnchorNotificationEnabledpublic boolean isLeadAnchorNotificationEnabled()leadAnchorNotificationEnabledフラグの値を返します。leadAnchorNotificationEnabledがtrueの場合、選択領域のすべての変更に加えて、先頭インデックスとアンカー・インデックスへの変更をカバーする境界を使用して、モデルは通知イベントを生成します。 フラグをfalseに設定すると、最後の変更後に選択または選択解除された要素のみを含むように、イベントの境界を限定できます。 どの方法でも、モデルは先頭変数とアンカー変数を内部的に管理し続けます。 デフォルトは、trueです。ノート: 先頭またはアンカーは、選択領域に変更を加えなくても変更できます。 これらの変更の通知は、ビュー内で新しい先頭やアンカーを更新する必要がある場合などに重要です。 したがって、デフォルト値を変更するときはよく注意してください。 - 戻り値:
- leadAnchorNotificationEnabledフラグの値
- 関連項目:
 
- 
clearSelectionpublic void clearSelection()選択範囲を空のセットに変更します。 これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに通知します。
- 
setSelectionIntervalpublic void setSelectionInterval(int index0, int index1) 選択範囲をindex0以上index1以下に変更します。index0はindex1以下でなくてもかまいません。SINGLE_SELECTION選択モードでは、2番目のインデックスだけが使用されます。これによって現在の選択範囲が変更される場合には、各 ListSelectionListenerに変更が通知されます。どちらかのインデックスが -1である場合、このメソッドは何も行わず、例外なしで返されます。 それ以外の場合、一方のインデックスが-1より小さい場合、IndexOutOfBoundsExceptionがスローされます。- 定義:
- setSelectionInterval、インタフェース- ListSelectionModel
- パラメータ:
- index0- 範囲の一方の端の値。
- index1- 範囲の他方の端の値
- 例外:
- IndexOutOfBoundsException- 一方のインデックスが- -1より小さい場合(かつ、どちらのインデックスも- -1でない場合)
- 関連項目:
 
- 
addSelectionIntervalpublic void addSelectionInterval(int index0, int index1) 選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との和集合に変更します。SINGLE_SELECTION選択モードでは、これはsetSelectionIntervalの呼び出しと同等で、2番目のインデックスだけが使用されます。SINGLE_INTERVAL_SELECTION選択モードでは、このメソッドは、指定された区間が既存の選択範囲に隣接していたりオーバーラップしていたりしないかぎりsetSelectionIntervalと同様に動作するため、範囲を拡張する目的で使用できます。これによって現在の選択範囲が変更される場合には、各 ListSelectionListenerに変更が通知されます。 ただし、index0はindex1以下でなくてもかまいません。どちらかのインデックスが -1である場合、このメソッドは何も行わず、例外なしで返されます。 それ以外の場合、一方のインデックスが-1より小さい場合、IndexOutOfBoundsExceptionがスローされます。- 定義:
- addSelectionInterval、インタフェース- ListSelectionModel
- パラメータ:
- index0- 範囲の一方の端の値。
- index1- 範囲の他方の端の値
- 例外:
- IndexOutOfBoundsException- 一方のインデックスが- -1より小さい場合(かつ、どちらのインデックスも- -1でない場合)
- 関連項目:
 
- 
removeSelectionIntervalpublic void removeSelectionInterval(int index0, int index1) 選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との差集合に変更します。index0はindex1以下でなくてもかまいません。SINGLE_INTERVAL_SELECTION選択モードでは、削除によって2つの不連続のセクションが生成される場合、削除範囲が選択範囲の末尾(値が大きいほうの端)まで拡張されます。 たとえば選択範囲が0-10である場合、ユーザーが任意の順序でインデックス5,6を指定すると、結果として得られる選択範囲は0-4になります。これによって現在の選択範囲が変更される場合には、各 ListSelectionListenerに変更が通知されます。どちらかのインデックスが -1である場合、このメソッドは何も行わず、例外なしで返されます。 それ以外の場合、一方のインデックスが-1より小さい場合、IndexOutOfBoundsExceptionがスローされます。- 定義:
- removeSelectionInterval、インタフェース- ListSelectionModel
- パラメータ:
- index0- 範囲の一方の端の値
- index1- 範囲の他方の端の値
- 例外:
- IndexOutOfBoundsException- 一方のインデックスが- -1より小さい場合(かつ、どちらのインデックスも- -1でない場合)
- 関連項目:
 
- 
insertIndexIntervalpublic void insertIndexInterval(int index, int length, boolean before) indexの前/後から始まるlengthインデックスを挿入します。 インデックスの値自体が選択され、選択モードがSINGLE_SELECTIONでない場合は、新しく挿入された項目をすべて選択済として設定します。 そうでない場合は未選択のままにします。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。- 定義:
- insertIndexInterval、インタフェース- ListSelectionModel
- パラメータ:
- index- 区間の始まり
- length- 区間の長さ
- before-- trueの場合、intervalは- indexの前に挿入され、それ以外の場合、intervalは- indexの後に挿入されます
 
- 
removeIndexIntervalpublic void removeIndexInterval(int index0, int index1) 選択モデルから、index0とindex1を両端として含む区間のインデックスを削除します。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。 index0は、(他の場合と同様に)index1以下である必要はありません。- 定義:
- removeIndexInterval、インタフェース- ListSelectionModel
- パラメータ:
- index0- 区間の始まり
- index1- 区間の終わり
 
- 
setValueIsAdjustingpublic void setValueIsAdjusting(boolean isAdjusting) 選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjustingプロパティを設定します。 このプロパティの値を使って、生成されたListSelectionEventのvalueIsAdjustingプロパティを初期化できます。たとえば、ユーザーのドラッグに応じて選択が更新される場合、このプロパティの値は、ドラッグの開始時には true、終了時にはfalseに設定できます。 ドラッグ中、リスナーは、valueIsAdjustingプロパティの値がtrueに設定されたイベントを受信します。 ドラッグの終了時、変更がファイナライズされると、リスナーが受信するイベントのプロパティの値はfalseになります。 リスナーは、変更がファイナライズされたときにだけ更新を実行する場合に、このパターンを使用できます。このプロパティの値を trueに設定すると、1回の変更の一部と見なされる一連の変更がスタートします。 プロパティの値をfalseに戻すと、選択全体の変更(選択があった場合)を記述する、valueIsAdjustingプロパティの値がfalseに設定されたイベントが送信されます。- 定義:
- setValueIsAdjusting、インタフェース- ListSelectionModel
- パラメータ:
- isAdjusting- プロパティの新しい値
- 関連項目:
 
- 
toStringpublic String toString()このオブジェクトのプロパティを表示および識別する文字列を返します。
- 
clonepublic Object clone() throws CloneNotSupportedExceptionこの選択モデルの複製を、同じ選択状態で返します。listenerListsは複製されません。- オーバーライド:
- clone、クラス- Object
- 戻り値:
- このインスタンスの複製。
- 例外:
- CloneNotSupportedException- 選択モデルが、(a) Cloneableインタフェースを実装せず、また(b)- cloneメソッドを定義しない場合。
- 関連項目:
 
- 
getAnchorSelectionIndexpublic int getAnchorSelectionIndex()setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。 直前のindex0が「アンカー」、直前のindex1が「リード」と見なされます。 インタフェースによっては、これらのインデックスが特別な方法で表示されます。たとえばWindows95では、リード・インデックスが黄色い点線の輪郭で表示されます。
- 
getLeadSelectionIndexpublic int getLeadSelectionIndex()setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。
- 
setAnchorSelectionIndexpublic void setAnchorSelectionIndex(int anchorIndex) アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧のアンカー・セルを対象とする通知を送信します。- 定義:
- setAnchorSelectionIndex、インタフェース- ListSelectionModel
- パラメータ:
- anchorIndex- アンカー選択インデックス
- 関連項目:
 
- 
moveLeadSelectionIndexpublic void moveLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧の先頭セルを対象とする通知を送信します。- パラメータ:
- leadIndex- 新しい先頭の選択インデックス
- 導入されたバージョン:
- 1.5
- 関連項目:
 
- 
setLeadSelectionIndexpublic void setLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。 アンカー索引の値が選択されている場合は、最初に[アンカー、oldLeadIndex]の範囲のすべての値をクリアしてから、[アンカー、newLeadIndex]の範囲のすべての値を選択します(oldLeadIndexは古いleadIndex、newLeadIndexは新しい値)。アンカー・インデックスの値が選択されていない場合は、同じことを逆に行います。つまり、古い範囲の値を選択してから新しい範囲の値を選択解除します。 この変更のイベントを1つ生成し、すべてのリスナーに通知します。 このイベント内で最小限の境界を生成するために、1回のパスで操作を行います。この方法では、ブロードキャストされたListSelectionEvent内の先頭と末尾のインデックスは、このメソッドによって実際に値が変更されたセルを参照します。 この操作を2回のステップで処理すると、選択状態の効果は同じでも、2つのイベントが生成されてしまいます。さらに、後で設定する目的でのみクリアされるセルが発生してしまい、変更対象の値に関連して操作される領域が広くなります。 このメソッドをUIクラスの mouseDraggedメソッドで使うと、選択を拡張できます。- 定義:
- setLeadSelectionIndex、インタフェース- ListSelectionModel
- パラメータ:
- leadIndex- リード選択インデックス
- 関連項目:
 
 
-