JavaTM 2 Platform
Std. Ed. v1.3

javax.swing
クラス DefaultListSelectionModel

java.lang.Object
  |
  +--javax.swing.DefaultListSelectionModel
すべての実装インタフェース:
Cloneable, ListSelectionModel, Serializable

public class DefaultListSelectionModel
extends Object
implements ListSelectionModel, Cloneable, Serializable

リスト選択のデフォルトデータモデルです。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
ListSelectionModel, 直列化された形式

フィールドの概要
protected  boolean leadAnchorNotificationEnabled
           
protected  EventListenerList listenerList
           
 
インタフェース javax.swing.ListSelectionModel から継承したフィールド
MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION
 
コンストラクタの概要
DefaultListSelectionModel()
           
 
メソッドの概要
 void addListSelectionListener(ListSelectionListener l)
          選択範囲の変更が通知されるリスナーをリストに追加します。
 void addSelectionInterval(int index0, int index1)
          選択範囲を、現在の選択範囲と index0 以上 index1 以下のインデックスの示す範囲との和集合に変更します。
 void clearSelection()
          選択範囲を空のセットに変更します。
 Object clone()
          この選択モデルの複製を、選択状態を同じにして返します。
protected  void fireValueChanged(boolean isAdjusting)
          一連の調整が終了したことをリスナーに通知します。
protected  void fireValueChanged(int firstIndex, int lastIndex)
          firstIndexlastIndex 間で選択の値が変更されたことを ListSelectionListeners に通知します。
protected  void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
           
 int getAnchorSelectionIndex()
          setSelectionInterval()、addSelectionInterval()、または removeSelectionInterval() の直前の呼び出しから、最初のインデックス引数を返します。
 int getLeadSelectionIndex()
          setSelectionInterval()、addSelectionInterval()、または removeSelectionInterval() の直前の呼び出しから、2 番目のインデックス引数を返します。
 EventListener[] getListeners(Class listenerType)
          このモデルに追加された、指定されたタイプのリスナーすべての配列を返します。
 int getMaxSelectionIndex()
          最後に選択されたインデックスを返すか、選択範囲が空の場合に -1 を返します。
 int getMinSelectionIndex()
          最初に選択されたインデックスを返すか、選択範囲が空の場合に -1 を返します。
 int getSelectionMode()
          選択モードを返します。
 boolean getValueIsAdjusting()
          値が一連の変更を受けている場合に true を返します。
 void insertIndexInterval(int index, int length, boolean before)
          インデックスの前または後で始まる length インデックスを挿入します。
 boolean isLeadAnchorNotificationEnabled()
          leadAnchorNotificationEnabled フラグの値を返します。
 boolean isSelectedIndex(int index)
          指定のインデックスが選択されている場合に true を返します。
 boolean isSelectionEmpty()
          インデックスが選択されていない場合に true を返します。
 void removeIndexInterval(int index0, int index1)
          index0、index1 (上下限値を含む) 間のインデックスを選択モデルから削除します。
 void removeListSelectionListener(ListSelectionListener l)
          選択範囲の変更が通知されるリスナーをリストから削除します。
 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)
          このプロパティは、モデルの値に適用されつつある変更が単一のイベントと考えられる場合に true になります。
 String toString()
          このオブジェクトのプロパティを表示および識別する文字列を返します。
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

listenerList

protected EventListenerList listenerList

leadAnchorNotificationEnabled

protected boolean leadAnchorNotificationEnabled
コンストラクタの詳細

DefaultListSelectionModel

public DefaultListSelectionModel()
メソッドの詳細

getMinSelectionIndex

public int getMinSelectionIndex()
インタフェース ListSelectionModel の記述:
最初に選択されたインデックスを返すか、選択範囲が空の場合に -1 を返します。
定義:
インタフェース ListSelectionModel 内の getMinSelectionIndex

getMaxSelectionIndex

public int getMaxSelectionIndex()
インタフェース ListSelectionModel の記述:
最後に選択されたインデックスを返すか、選択範囲が空の場合に -1 を返します。
定義:
インタフェース ListSelectionModel 内の getMaxSelectionIndex

getValueIsAdjusting

public boolean getValueIsAdjusting()
インタフェース ListSelectionModel の記述:
値が一連の変更を受けている場合に true を返します。
定義:
インタフェース ListSelectionModel 内の getValueIsAdjusting
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
戻り値:
値が現在調整されている場合は true
関連項目:
ListSelectionModel.setValueIsAdjusting(boolean)

getSelectionMode

public int getSelectionMode()
選択モードを返します。
定義:
インタフェース ListSelectionModel 内の getSelectionMode
戻り値:
次の値の 1 つ。
  • SINGLE_SELECTION
  • SINGLE_INTERVAL_SELECTION
  • MULTIPLE_INTERVAL_SELECTION
関連項目:
getSelectionMode()

setSelectionMode

public void setSelectionMode(int selectionMode)
選択モードを設定します。デフォルトは MULTIPLE_INTERVAL_SELECTION です。
定義:
インタフェース ListSelectionModel 内の setSelectionMode
パラメータ:
selectionMode - 次の値の 1 つ。
  • SINGLE_SELECTION
  • SINGLE_INTERVAL_SELECTION
  • MULTIPLE_INTERVAL_SELECTION
例外:
IllegalArgumentException - selectionMode が上記の正当な値のリストにない場合
関連項目:
setSelectionMode(int)

isSelectedIndex

public boolean isSelectedIndex(int index)
インタフェース ListSelectionModel の記述:
指定のインデックスが選択されている場合に true を返します。
定義:
インタフェース ListSelectionModel 内の isSelectedIndex

isSelectionEmpty

public boolean isSelectionEmpty()
インタフェース ListSelectionModel の記述:
インデックスが選択されていない場合に true を返します。
定義:
インタフェース ListSelectionModel 内の isSelectionEmpty

addListSelectionListener

public void addListSelectionListener(ListSelectionListener l)
インタフェース ListSelectionModel の記述:
選択範囲の変更が通知されるリスナーをリストに追加します。
定義:
インタフェース ListSelectionModel 内の addListSelectionListener
インタフェース javax.swing.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)
インタフェース ListSelectionModel の記述:
選択範囲の変更が通知されるリスナーをリストから削除します。
定義:
インタフェース ListSelectionModel 内の removeListSelectionListener
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
パラメータ:
l - ListSelectionListener
関連項目:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

fireValueChanged

protected void fireValueChanged(boolean isAdjusting)
一連の調整が終了したことをリスナーに通知します。

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex)
firstIndexlastIndex 間で選択の値が変更されたことを ListSelectionListeners に通知します。

fireValueChanged

protected void fireValueChanged(int firstIndex,
                                int lastIndex,
                                boolean isAdjusting)
パラメータ:
firstIndex - 先頭のインデックス
lastIndex - 最後のインデックス
isAdjusting - 一連の調整の最後の変更である場合は true
関連項目:
EventListenerList

getListeners

public EventListener[] getListeners(Class listenerType)
このモデルに追加された、指定されたタイプのリスナーすべての配列を返します。
戻り値:
このモデルから listenerType 通知を受け取ったすべてのオブジェクト
導入されたバージョン:
1.3

setLeadAnchorNotificationEnabled

public void setLeadAnchorNotificationEnabled(boolean flag)
leadAnchorNotificationEnabled フラグの値を設定します。
関連項目:
isLeadAnchorNotificationEnabled()

isLeadAnchorNotificationEnabled

public boolean isLeadAnchorNotificationEnabled()
leadAnchorNotificationEnabled フラグの値を返します。leadAnchorNotificationEnabled が true の場合、選択領域のすべての変更に加えて、先頭インデックスとアンカーインデックスへの変更を網羅する境界を使って、モデルは通知イベントを生成します。フラグを false に設定すると、最後の変更後に選択または選択解除された要素のみを含むように、イベントの境界を限定できます。どの方法でも、モデルは先頭変数とアンカー変数を内部的に管理し続けます。デフォルトは true です。
戻り値:
leadAnchorNotificationEnabled フラグの値
関連項目:
setLeadAnchorNotificationEnabled(boolean)

clearSelection

public void clearSelection()
インタフェース ListSelectionModel の記述:
選択範囲を空のセットに変更します。これによって現在の選択範囲が変更される場合には、各 ListSelectionListener に通知します。
定義:
インタフェース ListSelectionModel 内の clearSelection
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
関連項目:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectionInterval

public void setSelectionInterval(int index0,
                                 int index1)
インタフェース ListSelectionModel の記述:
選択範囲を index0 以上 index1 以下に変更します。これによって現在の選択範囲が変更される場合には、各 ListSelectionListener に通知します。ただし、index0 は index1 以下でなくてもかまいません。
定義:
インタフェース ListSelectionModel 内の setSelectionInterval
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
パラメータ:
index0 - 区間の一方の端の値
index1 - 区間の他方の端の値
関連項目:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

addSelectionInterval

public void addSelectionInterval(int index0,
                                 int index1)
インタフェース ListSelectionModel の記述:
選択範囲を、現在の選択範囲と index0 以上 index1 以下のインデックスの示す範囲との和集合に変更します。これによって現在の選択範囲が変更される場合には、各 ListSelectionListener に通知します。ただし、index0 は index1 以下でなくてもかまいません。
定義:
インタフェース ListSelectionModel 内の addSelectionInterval
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
パラメータ:
index0 - 区間の一方の端の値
index1 - 区間の他方の端の値
関連項目:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)
インタフェース ListSelectionModel の記述:
選択範囲を、現在の選択範囲と index0 以上 index1 以下のインデックスの示す範囲との差集合に変更します。これによって現在の選択範囲が変更される場合には、各 ListSelectionListener に通知します。ただし、index0 は index1 以下でなくてもかまいません。
定義:
インタフェース ListSelectionModel 内の removeSelectionInterval
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
パラメータ:
index0 - 区間の一方の端の値
index1 - 区間の他方の端の値
関連項目:
ListSelectionModel.addListSelectionListener(javax.swing.event.ListSelectionListener)

insertIndexInterval

public void insertIndexInterval(int index,
                                int length,
                                boolean before)
インデックスの前または後で始まる length インデックスを挿入します。インデックスの値それ自身が選択された場合は、新しく挿入された項目のすべてを設定し、そうでない場合には選択されないままにします。このメソッドは通常、選択モデルをデータモデル内の対応する変更に同期させるために呼び出されます。
定義:
インタフェース ListSelectionModel 内の insertIndexInterval

removeIndexInterval

public void removeIndexInterval(int index0,
                                int index1)
index0、index1 (上下限値を含む) 間のインデックスを選択モデルから削除します。これは通常、選択モデルをデータモデル内の対応する変更に同期させるために呼び出されます。index0 は (通常通り) <= index1 である必要はないことに注意してください。
定義:
インタフェース ListSelectionModel 内の removeIndexInterval

setValueIsAdjusting

public void setValueIsAdjusting(boolean isAdjusting)
インタフェース ListSelectionModel の記述:
このプロパティは、モデルの値に適用されつつある変更が単一のイベントと考えられる場合に true になります。たとえば、モデルがユーザのドラッグに応じて更新されている場合、valueIsAdjusting プロパティの値は、ドラッグが開始されたときに true、ドラッグが終了したときに false に設定されます。常に中間の値をすべて処理するのではなく、変更がファイナライズされた場合にだけ、このプロパティによってリスナーの更新が可能になります。
定義:
インタフェース ListSelectionModel 内の setValueIsAdjusting
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
パラメータ:
valueIsAdjusting - プロパティの新しい値
関連項目:
ListSelectionModel.getValueIsAdjusting()

toString

public String toString()
このオブジェクトのプロパティを表示および識別する文字列を返します。
オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの String 表現

clone

public Object clone()
             throws CloneNotSupportedException
この選択モデルの複製を、選択状態を同じにして返します。listenerList は複製されません。
オーバーライド:
クラス Object 内の clone
例外:
CloneNotSupportedException - 選択モデルが、(a) Cloneable インタフェースを実装せず、(b) clone メソッドを定義しない場合

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
インタフェース ListSelectionModel の記述:
setSelectionInterval()、addSelectionInterval()、または removeSelectionInterval() の直前の呼び出しから、最初のインデックス引数を返します。直前の index0 が「アンカー」、直前の index1 が「リード」と見なされます。インタフェースによっては、これらのインデックスが特別に表示されます。たとえば Windows95 では、リードインデックスが黄色い点線の輪郭で表示されます。
定義:
インタフェース ListSelectionModel 内の getAnchorSelectionIndex
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
関連項目:
ListSelectionModel.getLeadSelectionIndex(), ListSelectionModel.setSelectionInterval(int, int), ListSelectionModel.addSelectionInterval(int, int)

getLeadSelectionIndex

public int getLeadSelectionIndex()
インタフェース ListSelectionModel の記述:
setSelectionInterval()、addSelectionInterval()、または removeSelectionInterval() の直前の呼び出しから、2 番目のインデックス引数を返します。
定義:
インタフェース ListSelectionModel 内の getLeadSelectionIndex
インタフェース javax.swing.ListSelectionModel からコピーされたタグ:
関連項目:
ListSelectionModel.getAnchorSelectionIndex(), ListSelectionModel.setSelectionInterval(int, int), ListSelectionModel.addSelectionInterval(int, int)

setAnchorSelectionIndex

public void setAnchorSelectionIndex(int anchorIndex)
アンカー選択インデックスを設定して、すべての選択値を変更しないままにします。leadAnchorNotificationEnabled が true の場合、新旧のアンカーセルを対象とする通知を送信します。
定義:
インタフェース ListSelectionModel 内の setAnchorSelectionIndex
関連項目:
getAnchorSelectionIndex(), setLeadSelectionIndex(int)

setLeadSelectionIndex

public void setLeadSelectionIndex(int leadIndex)
先頭の選択インデックスを設定し、アンカーと新しい先頭の間の値が、すべて選択またはすべて選択解除のどちらかであることを保証します。アンカーインデックスの値を選択すると、[anchor, oldLeadIndex] 範囲内のすべての値をまずクリアしてから、[anchor, newLeadIndex] 範囲内のすべての値を選択します。oldLeadIndex は古い leadIndex を表し、newLeadIndex は新しい leadIndex を表します。

アンカーインデックスの値が選択されていない場合、同じことを逆に行い、古い範囲の値を選択してから新しい範囲の値を選択解除します。

この変更のイベントを 1 つ生成し、すべてのリスナーに通知します。このイベント内で最小限の境界を生成することを目的に、1 回のパスで操作を行います。この方法では、ブロードキャストされた ListSelectionEvent 内の先頭と末尾のインデックスは、このメソッドによって実際に値が変更されたセルを参照します。しかし、この操作を 2 回のステップで処理すると、選択状態の効果は同じでも、2 つのイベントが生成される上に、設定のためにクリアされたセルを含んでしまい、変更された値の境界が広くなります。

このメソッドを UI クラスの mouseDragged メソッドで使うと、選択を拡張できます。

定義:
インタフェース ListSelectionModel 内の setLeadSelectionIndex
関連項目:
getLeadSelectionIndex(), setAnchorSelectionIndex(int)

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.