- すべての実装されたインタフェース:
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
選択範囲の変更が通知されるリスナーをリストに追加します。void
addSelectionInterval
(int index0, int index1) 選択範囲を、現在の選択範囲とindex0
以上index1
以下のインデックスの示す範囲との和集合に変更します。void
選択範囲を空のセットに変更します。clone()
この選択モデルの複製を、同じ選択状態で返します。protected void
fireValueChanged
(boolean isAdjusting) 一連の調整が終了したことをリスナーに通知します。protected void
fireValueChanged
(int firstIndex, int lastIndex) firstIndex
、lastIndex
間で選択の値が変更されたことをListSelectionListeners
に通知します。protected void
fireValueChanged
(int firstIndex, int lastIndex, boolean isAdjusting) int
setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。int
setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。<T extends EventListener>
T[]getListeners
(Class<T> listenerType) このモデルにFooListener
として現在登録されているすべてのオブジェクトの配列を返します。このDefaultListSelectionModel
に登録されたすべてのリスト選択リスナーの配列を返します。int
最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。int
最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。int
現在の選択モードを返します。boolean
選択に一連の変更を適用中である場合はtrue
を返します。void
insertIndexInterval
(int index, int length, boolean before) indexの前/後から始まるlengthインデックスを挿入します。boolean
leadAnchorNotificationEnabled
フラグの値を返します。boolean
isSelectedIndex
(int index) 指定のインデックスが選択されている場合にtrueを返します。boolean
インデックスが選択されていない場合にtrueを返します。void
moveLeadSelectionIndex
(int leadIndex) 先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。void
removeIndexInterval
(int index0, int index1) 選択モデルから、index0とindex1を両端として含む区間のインデックスを削除します。void
選択範囲の変更が通知されるリスナーをリストから削除します。void
removeSelectionInterval
(int index0, int index1) 選択範囲を、現在の選択範囲とindex0
以上index1
以下のインデックスの示す範囲との差集合に変更します。void
setAnchorSelectionIndex
(int anchorIndex) アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。void
setLeadAnchorNotificationEnabled
(boolean flag) leadAnchorNotificationEnabledフラグの値を設定します。void
setLeadSelectionIndex
(int leadIndex) 先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。void
setSelectionInterval
(int index0, int index1) 選択範囲をindex0
以上index1
以下に変更します。void
setSelectionMode
(int selectionMode) 選択モードを設定します。void
setValueIsAdjusting
(boolean isAdjusting) 選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjusting
プロパティを設定します。toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。クラス java.lang.Objectで宣言されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェース javax.swing.ListSelectionModelで宣言されたメソッド
getSelectedIndices, getSelectedItemsCount
-
フィールド詳細
-
listenerList
protected EventListenerList listenerListリスナーのリスト。 -
leadAnchorNotificationEnabled
protected boolean leadAnchorNotificationEnabledリード・アンカー通知が有効かどうか。
-
-
コンストラクタの詳細
-
DefaultListSelectionModel
public DefaultListSelectionModel()DefaultListSelectionModel
を構築します。
-
-
メソッドの詳細
-
getMinSelectionIndex
public int getMinSelectionIndex()最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。- 定義:
getMinSelectionIndex
、インタフェースListSelectionModel
- 戻り値:
- 最初に選択されたインデックス、または選択範囲が空の場合は -1。
-
getMaxSelectionIndex
public int getMaxSelectionIndex()最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。- 定義:
getMaxSelectionIndex
、インタフェースListSelectionModel
- 戻り値:
- 最後に選択されたインデックス、または選択範囲が空の場合は -1。
-
getValueIsAdjusting
public boolean getValueIsAdjusting()選択に一連の変更を適用中である場合はtrue
を返します。- 定義:
getValueIsAdjusting
、インタフェースListSelectionModel
- 戻り値:
- 選択に一連の変更を適用中である場合はtrue
- 関連項目:
-
getSelectionMode
public int getSelectionMode()現在の選択モードを返します。- 定義:
getSelectionMode
、インタフェースListSelectionModel
- 戻り値:
- 現在の選択モード
- 関連項目:
-
setSelectionMode
public 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
- 許可された選択モードでない場合- 関連項目:
-
isSelectedIndex
public boolean isSelectedIndex(int index) 指定のインデックスが選択されている場合にtrueを返します。- 定義:
isSelectedIndex
、インタフェースListSelectionModel
- パラメータ:
index
- インデックス- 戻り値:
true
指定されたインデックスが選択されている場合
-
isSelectionEmpty
public boolean isSelectionEmpty()インデックスが選択されていない場合にtrueを返します。- 定義:
isSelectionEmpty
、インタフェースListSelectionModel
- 戻り値:
- インデックスが選択されていない場合は
true
。
-
addListSelectionListener
public 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)
-
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener l) 選択範囲の変更が通知されるリスナーをリストから削除します。- 定義:
removeListSelectionListener
、インタフェースListSelectionModel
- パラメータ:
l
- ListSelectionListener- 関連項目:
-
getListSelectionListeners
public ListSelectionListener[] getListSelectionListeners()このDefaultListSelectionModel
に登録されたすべてのリスト選択リスナーの配列を返します。- 戻り値:
- このモデルのすべての
ListSelectionListener
。リスト選択リスナーが現在登録されていない場合は空の配列 - 導入されたバージョン:
- 1.4
- 関連項目:
-
fireValueChanged
protected void fireValueChanged(boolean isAdjusting) 一連の調整が終了したことをリスナーに通知します。- パラメータ:
isAdjusting
- 一連の調整の最後の変更である場合はtrue
-
fireValueChanged
protected void fireValueChanged(int firstIndex, int lastIndex) firstIndex
、lastIndex
間で選択の値が変更されたことをListSelectionListeners
に通知します。- パラメータ:
firstIndex
- 範囲の先頭のインデックスlastIndex
- 範囲の最後のインデックス
-
fireValueChanged
protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) - パラメータ:
firstIndex
- 範囲の先頭のインデックスlastIndex
- 範囲の最後のインデックスisAdjusting
- 一連の調整の最後の変更である場合はtrue- 関連項目:
-
getListeners
public <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
- 関連項目:
-
setLeadAnchorNotificationEnabled
public void setLeadAnchorNotificationEnabled(boolean flag) leadAnchorNotificationEnabledフラグの値を設定します。- パラメータ:
flag
-leadAnchorNotificationEnabled
のブール値- 関連項目:
-
isLeadAnchorNotificationEnabled
public boolean isLeadAnchorNotificationEnabled()leadAnchorNotificationEnabled
フラグの値を返します。leadAnchorNotificationEnabled
がtrueの場合、選択領域のすべての変更に加えて、先頭インデックスとアンカー・インデックスへの変更をカバーする境界を使用して、モデルは通知イベントを生成します。 フラグをfalseに設定すると、最後の変更後に選択または選択解除された要素のみを含むように、イベントの境界を限定できます。 どの方法でも、モデルは先頭変数とアンカー変数を内部的に管理し続けます。 デフォルトは、trueです。ノート: 先頭またはアンカーは、選択領域に変更を加えなくても変更できます。 これらの変更の通知は、ビュー内で新しい先頭やアンカーを更新する必要がある場合などに重要です。 したがって、デフォルト値を変更するときはよく注意してください。
- 戻り値:
leadAnchorNotificationEnabled
フラグの値- 関連項目:
-
clearSelection
public void clearSelection()選択範囲を空のセットに変更します。 これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに通知します。 -
setSelectionInterval
public void setSelectionInterval(int index0, int index1) 選択範囲をindex0
以上index1
以下に変更します。index0
はindex1
以下でなくてもかまいません。SINGLE_SELECTION
選択モードでは、2番目のインデックスだけが使用されます。これによって現在の選択範囲が変更される場合には、各
ListSelectionListener
に変更が通知されます。どちらかのインデックスが
-1
である場合、このメソッドは何も行わず、例外なしで返されます。 それ以外の場合、一方のインデックスが-1
より小さい場合、IndexOutOfBoundsException
がスローされます。- 定義:
setSelectionInterval
、インタフェースListSelectionModel
- パラメータ:
index0
- 範囲の一方の端の値。index1
- 範囲の他方の端の値- 例外:
IndexOutOfBoundsException
- 一方のインデックスが-1
より小さい場合(かつ、どちらのインデックスも-1
でない場合)- 関連項目:
-
addSelectionInterval
public 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
でない場合)- 関連項目:
-
removeSelectionInterval
public 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
でない場合)- 関連項目:
-
insertIndexInterval
public void insertIndexInterval(int index, int length, boolean before) indexの前/後から始まるlengthインデックスを挿入します。 インデックスの値自体が選択され、選択モードがSINGLE_SELECTIONでない場合は、新しく挿入された項目をすべて選択済として設定します。 そうでない場合は未選択のままにします。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。- 定義:
insertIndexInterval
、インタフェースListSelectionModel
- パラメータ:
index
- 区間の始まりlength
- 区間の長さbefore
-true
の場合、intervalはindex
の前に挿入され、それ以外の場合、intervalはindex
の後に挿入されます
-
removeIndexInterval
public void removeIndexInterval(int index0, int index1) 選択モデルから、index0とindex1を両端として含む区間のインデックスを削除します。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。 index0は、(他の場合と同様に)index1以下である必要はありません。- 定義:
removeIndexInterval
、インタフェースListSelectionModel
- パラメータ:
index0
- 区間の始まりindex1
- 区間の終わり
-
setValueIsAdjusting
public void setValueIsAdjusting(boolean isAdjusting) 選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjusting
プロパティを設定します。 このプロパティの値を使って、生成されたListSelectionEvent
のvalueIsAdjusting
プロパティを初期化できます。たとえば、ユーザーのドラッグに応じて選択が更新される場合、このプロパティの値は、ドラッグの開始時には
true
、終了時にはfalse
に設定できます。 ドラッグ中、リスナーは、valueIsAdjusting
プロパティの値がtrue
に設定されたイベントを受信します。 ドラッグの終了時、変更がファイナライズされると、リスナーが受信するイベントのプロパティの値はfalse
になります。 リスナーは、変更がファイナライズされたときにだけ更新を実行する場合に、このパターンを使用できます。このプロパティの値を
true
に設定すると、1回の変更の一部と見なされる一連の変更がスタートします。 プロパティの値をfalse
に戻すと、選択全体の変更(選択があった場合)を記述する、valueIsAdjusting
プロパティの値がfalse
に設定されたイベントが送信されます。- 定義:
setValueIsAdjusting
、インタフェースListSelectionModel
- パラメータ:
isAdjusting
- プロパティの新しい値- 関連項目:
-
toString
public String toString()このオブジェクトのプロパティを表示および識別する文字列を返します。 -
clone
public Object clone() throws CloneNotSupportedExceptionこの選択モデルの複製を、同じ選択状態で返します。listenerLists
は複製されません。- オーバーライド:
clone
、クラスObject
- 戻り値:
- このインスタンスの複製。
- 例外:
CloneNotSupportedException
- 選択モデルが、(a) Cloneableインタフェースを実装せず、また(b)clone
メソッドを定義しない場合。- 関連項目:
-
getAnchorSelectionIndex
public int getAnchorSelectionIndex()setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。 直前のindex0が「アンカー」、直前のindex1が「リード」と見なされます。 インタフェースによっては、これらのインデックスが特別な方法で表示されます。たとえばWindows95では、リード・インデックスが黄色い点線の輪郭で表示されます。 -
getLeadSelectionIndex
public int getLeadSelectionIndex()setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。 -
setAnchorSelectionIndex
public void setAnchorSelectionIndex(int anchorIndex) アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧のアンカー・セルを対象とする通知を送信します。- 定義:
setAnchorSelectionIndex
、インタフェースListSelectionModel
- パラメータ:
anchorIndex
- アンカー選択インデックス- 関連項目:
-
moveLeadSelectionIndex
public void moveLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定して、すべての選択値を未変更のままにします。 leadAnchorNotificationEnabledがtrueの場合、新旧の先頭セルを対象とする通知を送信します。- パラメータ:
leadIndex
- 新しい先頭の選択インデックス- 導入されたバージョン:
- 1.5
- 関連項目:
-
setLeadSelectionIndex
public void setLeadSelectionIndex(int leadIndex) 先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。 アンカー・インデックスの値を選択すると、[anchor, oldLeadIndex]範囲内のすべての値をまずクリアしてから、[anchor, newLeadIndex]範囲内のすべての値を選択します。oldLeadIndexは古いleadIndexを表し、newLeadIndexは新しいleadIndexを表します。アンカー・インデックスの値が選択されていない場合は、同じことを逆に行います。つまり、古い範囲の値を選択してから新しい範囲の値を選択解除します。
この変更のイベントを1つ生成し、すべてのリスナーに通知します。 このイベント内で最小限の境界を生成するために、1回のパスで操作を行います。この方法では、ブロードキャストされたListSelectionEvent内の先頭と末尾のインデックスは、このメソッドによって実際に値が変更されたセルを参照します。 この操作を2回のステップで処理すると、選択状態の効果は同じでも、2つのイベントが生成されてしまいます。さらに、後で設定する目的でのみクリアされるセルが発生してしまい、変更対象の値に関連して操作される領域が広くなります。
このメソッドをUIクラスの
mouseDragged
メソッドで使うと、選択を拡張できます。- 定義:
setLeadSelectionIndex
、インタフェースListSelectionModel
- パラメータ:
leadIndex
- リード選択インデックス- 関連項目:
-