モジュール java.desktop
パッケージ javax.swing

インタフェースListSelectionModel

既知のすべての実装クラス:
DefaultListSelectionModel

public interface ListSelectionModel
固定のインデックスを持つ値のリストを表示するコンポーネントの、現在の選択状態を表します。 選択状態は区間のセットとしてモデル化され、各区間は選択されたリスト要素の連続範囲を表します。 選択された区間のセットを変更するメソッドはすべて、閉じた区間を表すindex0とindex1を1組とするインデックスをとります。つまり、区間にはindex0とindex1の両方が含まれます。
導入されたバージョン:
1.2
関連項目:
DefaultListSelectionModel
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    static int MULTIPLE_INTERVAL_SELECTION
    selectionModeプロパティの値です。インデックスの連続範囲を1回に1つ以上選択します。
    static int SINGLE_INTERVAL_SELECTION
    selectionModeプロパティの値です。インデックスの連続範囲を1回に1つ選択します。
    static int SINGLE_SELECTION
    selectionModeプロパティの値です。リスト・インデックスを1回に1つ選択します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    void addListSelectionListener​(ListSelectionListener x)
    選択範囲の変更が通知されるリスナーをリストに追加します。
    void addSelectionInterval​(int index0, int index1)
    選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との和集合に変更します。
    void clearSelection()
    選択範囲を空のセットに変更します。
    int getAnchorSelectionIndex()
    setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。
    int getLeadSelectionIndex()
    setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。
    int getMaxSelectionIndex()
    最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。
    int getMinSelectionIndex()
    最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。
    default int[] getSelectedIndices()
    選択モデル内のすべての選択されたインデックスの配列を、増加順に返します。
    default int getSelectedItemsCount()
    選択されたアイテムの数を返します。
    int getSelectionMode()
    現在の選択モードを返します。
    boolean getValueIsAdjusting()
    選択に一連の変更を適用中である場合はtrueを返します。
    void insertIndexInterval​(int index, int length, boolean before)
    lengthインデックスをindexの前後に挿入します。
    boolean isSelectedIndex​(int index)
    指定のインデックスが選択されている場合にtrueを返します。
    boolean isSelectionEmpty()
    インデックスが選択されていない場合にtrueを返します。
    void removeIndexInterval​(int index0, int index1)
    選択モデルから間隔index0,index1 (inclusive)のインデックスを削除します。
    void removeListSelectionListener​(ListSelectionListener x)
    選択範囲の変更が通知されるリスナーをリストから削除します。
    void removeSelectionInterval​(int index0, int index1)
    選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との差集合に変更します。
    void setAnchorSelectionIndex​(int index)
    選択範囲のアンカー・インデックスを設定します。
    void setLeadSelectionIndex​(int index)
    選択範囲のリード・インデックスを設定します。
    void setSelectionInterval​(int index0, int index1)
    選択範囲をindex0以上index1以下に変更します。
    void setSelectionMode​(int selectionMode)
    選択モードを設定します。
    void setValueIsAdjusting​(boolean valueIsAdjusting)
    選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjustingプロパティを設定します。
  • フィールド詳細

  • メソッドの詳細

    • setSelectionInterval

      void setSelectionInterval​(int index0, int index1)
      選択範囲をindex0以上index1以下に変更します。index0index1以下でなくてもかまいません。

      SINGLE_SELECTION選択モードでは、2番目のインデックスだけが使用されます。

      これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに変更が通知されます。

      パラメータ:
      index0 - 範囲の一方の端の値。
      index1 - 範囲の他方の端の値
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener)
    • addSelectionInterval

      void addSelectionInterval​(int index0, int index1)
      選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との和集合に変更します。index0index1以下でなくてもかまいません。

      SINGLE_SELECTION選択モードでは、これはsetSelectionIntervalの呼び出しと同等で、2番目のインデックスだけが使用されます。 SINGLE_INTERVAL_SELECTION選択モードでは、このメソッドは、指定された間隔が既存の選択範囲に隣接していたりオーバーラップしていたりしないかぎりsetSelectionIntervalと同様に動作するため、選択範囲を拡張する目的で使用できます。

      これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに変更が通知されます。

      パラメータ:
      index0 - 範囲の一方の端の値。
      index1 - 範囲の他方の端の値
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener), setSelectionInterval(int, int)
    • removeSelectionInterval

      void removeSelectionInterval​(int index0, int index1)
      選択範囲を、現在の選択範囲とindex0以上index1以下のインデックスの示す範囲との差集合に変更します。index0index1以下でなくてもかまいません。

      SINGLE_INTERVAL_SELECTION選択モードでは、削除によって2つの不連続のセクションが生成される場合、削除範囲が選択範囲の末尾(値が大きいほうの端)まで拡張されます。 たとえば選択範囲が0-10である場合、ユーザーが任意の順序でインデックス5,6を指定すると、結果として得られる選択範囲は0-4になります。

      これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに変更が通知されます。

      パラメータ:
      index0 - 範囲の一方の端の値。
      index1 - 範囲の他方の端の値
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getMinSelectionIndex

      int getMinSelectionIndex()
      最初に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。
      戻り値:
      最初に選択されたインデックス、または選択範囲が空の場合は -1。
    • getMaxSelectionIndex

      int getMaxSelectionIndex()
      最後に選択されたインデックスを返すか、選択範囲が空の場合に -1を返します。
      戻り値:
      最後に選択されたインデックス、または選択範囲が空の場合は -1。
    • isSelectedIndex

      boolean isSelectedIndex​(int index)
      指定のインデックスが選択されている場合にtrueを返します。
      パラメータ:
      index - インデックス
      戻り値:
      true指定されたインデックスが選択されている場合
    • getAnchorSelectionIndex

      int getAnchorSelectionIndex()
      setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、最初のインデックス引数を返します。 直前のindex0が「アンカー」、直前のindex1が「リード」と見なされます。 インタフェースによっては、これらのインデックスが特別な方法で表示されます。たとえばWindows95では、リード・インデックスが黄色い点線の輪郭で表示されます。
      戻り値:
      アンカー選択インデックス
      関連項目:
      getLeadSelectionIndex(), setSelectionInterval(int, int), addSelectionInterval(int, int)
    • setAnchorSelectionIndex

      void setAnchorSelectionIndex​(int index)
      選択範囲のアンカー・インデックスを設定します。
      パラメータ:
      index - アンカー選択インデックス
      関連項目:
      getAnchorSelectionIndex()
    • getLeadSelectionIndex

      int getLeadSelectionIndex()
      setSelectionInterval()、addSelectionInterval()、またはremoveSelectionInterval()の直前の呼び出しから、2番目のインデックス引数を返します。
      戻り値:
      リード選択インデックス
      関連項目:
      getAnchorSelectionIndex(), setSelectionInterval(int, int), addSelectionInterval(int, int)
    • setLeadSelectionIndex

      void setLeadSelectionIndex​(int index)
      選択範囲のリード・インデックスを設定します。
      パラメータ:
      index - リード選択インデックス
      関連項目:
      getLeadSelectionIndex()
    • clearSelection

      void clearSelection()
      選択範囲を空のセットに変更します。 これによって現在の選択範囲が変更される場合には、各ListSelectionListenerに通知します。
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener)
    • isSelectionEmpty

      boolean isSelectionEmpty()
      インデックスが選択されていない場合にtrueを返します。
      戻り値:
      インデックスが選択されていない場合はtrue
    • insertIndexInterval

      void insertIndexInterval​(int index, int length, boolean before)
      lengthインデックスをindexの前後に挿入します。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。
      パラメータ:
      index - 区間の始まり
      length - 区間の長さ
      before - trueの場合、intervalはindexの前に挿入され、それ以外の場合、intervalはindexの後に挿入されます
    • removeIndexInterval

      void removeIndexInterval​(int index0, int index1)
      選択モデルから間隔index0,index1 (inclusive)のインデックスを削除します。 通常、このメソッドは、データ・モデル内の対応する変更に選択モデルを同期させるために呼び出されます。
      パラメータ:
      index0 - 区間の始まり
      index1 - 区間の終わり
    • setValueIsAdjusting

      void setValueIsAdjusting​(boolean valueIsAdjusting)
      選択に対する複数の変更を1つの変更の一部であると見なすかどうかを指定する、valueIsAdjustingプロパティを設定します。 このプロパティの値を使って、生成されたListSelectionEventvalueIsAdjustingプロパティを初期化できます。

      たとえば、ユーザーのドラッグに応じて選択が更新される場合、このプロパティの値は、ドラッグの開始時にはtrue、終了時にはfalseに設定できます。 ドラッグ中、リスナーは、valueIsAdjustingプロパティの値がtrueに設定されたイベントを受信します。 ドラッグの終了時、変更がファイナライズされると、リスナーが受信するイベントのプロパティの値はfalseになります。 リスナーは、変更がファイナライズされたときにだけ更新を実行する場合に、このパターンを使用できます。

      このプロパティの値をtrueに設定すると、1回の変更の一部と見なされる一連の変更がスタートします。 プロパティの値をfalseに戻すと、選択全体の変更(選択があった場合)を記述する、valueIsAdjustingプロパティの値がfalseに設定されたイベントが送信されます。

      パラメータ:
      valueIsAdjusting - プロパティの新しい値
      関連項目:
      getValueIsAdjusting(), ListSelectionEvent.getValueIsAdjusting()
    • getValueIsAdjusting

      boolean getValueIsAdjusting()
      選択に一連の変更を適用中である場合はtrueを返します。
      戻り値:
      選択に一連の変更を適用中である場合はtrue
      関連項目:
      setValueIsAdjusting(boolean)
    • setSelectionMode

      void setSelectionMode​(int selectionMode)
      選択モードを設定します。 使用可能な選択モードは、次のリストのとおりです。
      • ListSelectionModel.SINGLE_SELECTION - 1回に1つのリスト・インデックスのみを選択できます。 このモードでは、setSelectionIntervalメソッドとaddSelectionIntervalメソッドは同等であり、どちらも現在の選択を、2番目の引数で表されるインデックス(「リード・インデックス」)で置き換えます。
      • ListSelectionModel.SINGLE_INTERVAL_SELECTION - 1回に1つの連続区間のみを選択できます。 このモードでは、addSelectionIntervalは、指定された間隔が既存の選択範囲に隣接していたりオーバーラップしていたりしないかぎりsetSelectionIntervalと同様に動作する(現在の選択を置き換える)ため、選択範囲を拡張するために使用できます。
      • ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - このモードでは、選択対象に制限はありません。
      パラメータ:
      selectionMode - 選択モード
      例外:
      IllegalArgumentException - 許可された選択モードでない場合
      関連項目:
      getSelectionMode()
    • getSelectionMode

      int getSelectionMode()
      現在の選択モードを返します。
      戻り値:
      現在の選択モード
      関連項目:
      setSelectionMode(int)
    • addListSelectionListener

      void addListSelectionListener​(ListSelectionListener x)
      選択範囲の変更が通知されるリスナーをリストに追加します。
      パラメータ:
      x - ListSelectionListener
      関連項目:
      removeListSelectionListener(javax.swing.event.ListSelectionListener), setSelectionInterval(int, int), addSelectionInterval(int, int), removeSelectionInterval(int, int), clearSelection(), insertIndexInterval(int, int, boolean), removeIndexInterval(int, int)
    • removeListSelectionListener

      void removeListSelectionListener​(ListSelectionListener x)
      選択範囲の変更が通知されるリスナーをリストから削除します。
      パラメータ:
      x - ListSelectionListener
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedIndices

      default int[] getSelectedIndices()
      選択モデル内のすべての選択されたインデックスの配列を、増加順に返します。
      実装要件:
      デフォルトの実装では、選択されたインデックスgetMinSelectionIndex()が最大選択されたインデックスgetMaxSelectionIndex()に反復処理され、新しく割り当てられたint配列で選択されたインデックスisSelectedIndex(int)が返されます。
      戻り値:
      選択されているすべてのインデックス(昇順)、または何も選択されていない場合は空の配列
      導入されたバージョン:
      11
      関連項目:
      removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedItemsCount

      default int getSelectedItemsCount()
      選択されたアイテムの数を返します。
      実装要件:
      デフォルト実装は、選択された最小索引getMinSelectionIndex()から、選択された索引getMaxSelectionIndex()まで反復し、選択された索引の数をisSelectedIndex(int)
      戻り値:
      選択したアイテムの数、アイテムが選択されていない場合は0
      導入されたバージョン:
      11