- すべての実装されたインタフェース:
- Serializable,- Cloneable,- ListSelectionModel
public class DefaultListSelectionModel extends Object implements ListSelectionModel, Cloneable, Serializable
 警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。 
- 導入されたバージョン:
- 1.2
- 関連項目:
- ListSelectionModel
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 protected booleanleadAnchorNotificationEnabledリード・アンカー通知が有効かどうか。protected EventListenerListlistenerListリスナーのリスト。インタフェース javax.swing.ListSelectionModelで宣言されたフィールドMULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 DefaultListSelectionModel()
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddSelectionInterval(int index0, int index1)選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との和集合に変更します。Objectclone()この選択モデルの複製を、同じ選択状態で返します。protected voidfireValueChanged(boolean isAdjusting)一連の調整が終了したことをリスナーに通知します。protected voidfireValueChanged(int firstIndex, int lastIndex)firstIndex、lastIndex間で選択の値が変更されたことをListSelectionListenersに通知します。protected voidfireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)<T extends EventListener>
 T[]getListeners(Class<T> listenerType)このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。ListSelectionListener[]getListSelectionListeners()このDefaultListSelectionModelに登録されたすべてのリスト選択リスナーの配列を返します。voidinsertIndexInterval(int index, int length, boolean before)indexの前/後から始まるlengthインデックスを挿入します。booleanisLeadAnchorNotificationEnabled()leadAnchorNotificationEnabledフラグの値を返します。voidmoveLeadSelectionIndex(int leadIndex)先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。voidremoveIndexInterval(int index0, int index1)選択モデルから、index0とindex1を両端として含む区間のインデックスを削除します。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)選択モードを設定します。StringtoString()このオブジェクトのプロパティを表示および識別する文字列を返します。インタフェース javax.swing.ListSelectionModelで宣言されたメソッドaddListSelectionListener, clearSelection, getAnchorSelectionIndex, getLeadSelectionIndex, getMaxSelectionIndex, getMinSelectionIndex, getSelectedIndices, getSelectedItemsCount, getSelectionMode, getValueIsAdjusting, isSelectedIndex, isSelectionEmpty, removeListSelectionListener, setValueIsAdjusting
- 
フィールド詳細- 
listenerListprotected EventListenerList listenerListリスナーのリスト。
- 
leadAnchorNotificationEnabledprotected boolean leadAnchorNotificationEnabledリード・アンカー通知が有効かどうか。
 
- 
- 
コンストラクタの詳細- 
DefaultListSelectionModelpublic DefaultListSelectionModel()
 
- 
- 
メソッドの詳細- 
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- 許可された選択モードでない場合
- 関連項目:
- ListSelectionModel.getSelectionMode()
 
- 
getListSelectionListenerspublic ListSelectionListener[] getListSelectionListeners()このDefaultListSelectionModelに登録されたすべてのリスト選択リスナーの配列を返します。- 戻り値:
- このモデルのすべてのListSelectionListener。リスト選択リスナーが現在登録されていない場合は空の配列
- 導入されたバージョン:
- 1.4
- 関連項目:
- ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener),- ListSelectionModel.removeListSelectionListener(javax.swing.event.ListSelectionListener)
 
- 
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- 範囲の最後のインデックス
- isAdjusting- 一連の調整の最後の変更である場合はtrue
- 関連項目:
- EventListenerList
 
- 
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
- 関連項目:
- getListSelectionListeners()
 
- 
setLeadAnchorNotificationEnabledpublic void setLeadAnchorNotificationEnabled(boolean flag)leadAnchorNotificationEnabledフラグの値を設定します。- パラメータ:
- flag-- leadAnchorNotificationEnabledのブール値
- 関連項目:
- isLeadAnchorNotificationEnabled()
 
- 
isLeadAnchorNotificationEnabledpublic boolean isLeadAnchorNotificationEnabled()leadAnchorNotificationEnabledフラグの値を返します。leadAnchorNotificationEnabledがtrueの場合、選択領域のすべての変更に加えて、先頭インデックスとアンカー・インデックスへの変更をカバーする境界を使用して、モデルは通知イベントを生成します。 フラグをfalseに設定すると、最後の変更後に選択または選択解除された要素のみを含むように、イベントの境界を限定できます。 どの方法でも、モデルは先頭変数とアンカー変数を内部的に管理し続けます。 デフォルトは、trueです。ノート: 先頭またはアンカーは、選択領域に変更を加えなくても変更できます。 これらの変更の通知は、ビュー内で新しい先頭やアンカーを更新する必要がある場合などに重要です。 したがって、デフォルト値を変更するときはよく注意してください。 - 戻り値:
- leadAnchorNotificationEnabledフラグの値
- 関連項目:
- setLeadAnchorNotificationEnabled(boolean)
 
- 
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でない場合)
- 関連項目:
- ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)
 
- 
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でない場合)
- 関連項目:
- ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener),- setSelectionInterval(int, int)
 
- 
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でない場合)
- 関連項目:
- ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)
 
- 
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- 区間の終わり
 
- 
toStringpublic String toString()このオブジェクトのプロパティを表示および識別する文字列を返します。
- 
clonepublic Object clone() throws CloneNotSupportedExceptionこの選択モデルの複製を、同じ選択状態で返します。listenerListsは複製されません。- オーバーライド:
- clone、クラス:- Object
- 戻り値:
- このインスタンスの複製。
- 例外:
- CloneNotSupportedException- 選択モデルが、(a) Cloneableインタフェースを実装せず、また(b)- cloneメソッドを定義しない場合。
- 関連項目:
- Cloneable
 
- 
setAnchorSelectionIndexpublic void setAnchorSelectionIndex(int anchorIndex)アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧のアンカー・セルを対象とする通知を送信します。- 定義:
- setAnchorSelectionIndex、インタフェース:- ListSelectionModel
- パラメータ:
- anchorIndex- アンカー選択インデックス
- 関連項目:
- ListSelectionModel.getAnchorSelectionIndex(),- setLeadSelectionIndex(int)
 
- 
moveLeadSelectionIndexpublic void moveLeadSelectionIndex(int leadIndex)先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧の先頭セルを対象とする通知を送信します。- パラメータ:
- leadIndex- 新しい先頭の選択インデックス
- 導入されたバージョン:
- 1.5
- 関連項目:
- setAnchorSelectionIndex(int),- setLeadSelectionIndex(int),- ListSelectionModel.getLeadSelectionIndex()
 
- 
setLeadSelectionIndexpublic void setLeadSelectionIndex(int leadIndex)先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。 アンカー・インデックスの値を選択すると、[anchor, oldLeadIndex]範囲内のすべての値をまずクリアしてから、[anchor, newLeadIndex]範囲内のすべての値を選択します。oldLeadIndexは古いleadIndexを表し、newLeadIndexは新しいleadIndexを表します。アンカー・インデックスの値が選択されていない場合は、同じことを逆に行います。つまり、古い範囲の値を選択してから新しい範囲の値を選択解除します。 この変更のイベントを1つ生成し、すべてのリスナーに通知します。 このイベント内で最小限の境界を生成するために、1回のパスで操作を行います。この方法では、ブロードキャストされたListSelectionEvent内の先頭と末尾のインデックスは、このメソッドによって実際に値が変更されたセルを参照します。 この操作を2回のステップで処理すると、選択状態の効果は同じでも、2つのイベントが生成されてしまいます。さらに、後で設定する目的でのみクリアされるセルが発生してしまい、変更対象の値に関連して操作される領域が広くなります。 このメソッドをUIクラスの mouseDraggedメソッドで使うと、選択を拡張できます。- 定義:
- setLeadSelectionIndex、インタフェース:- ListSelectionModel
- パラメータ:
- leadIndex- リード選択インデックス
- 関連項目:
- ListSelectionModel.getLeadSelectionIndex(),- setAnchorSelectionIndex(int)
 
 
-