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

クラスJList<E>

型パラメータ:
E - このリストの要素の型
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

@JavaBean(defaultProperty="UI",
          description="A component which allows for the selection of one or more objects from a list.")
public class JList<E>
extends JComponent
implements Scrollable, Accessible
オブジェクトのリストを表示し、ユーザーが1つまたは複数のオブジェクトを選択できるようにするコンポーネントです。 別のモデルであるListModelが、リストの内容を保持します。

読取り専用のListModelのインスタンスを自動生成するJListコンストラクタを使用すれば、オブジェクトの配列またはVectorを簡単に表示できます。

 
 // Create a JList that displays strings from an array

 String[] data = {"one", "two", "three", "four"};
 JList<String> myList = new JList<String>(data);

 // Create a JList that displays the superclasses of JList.class, by
 // creating it with a Vector populated with this data

 Vector<Class<?>> superClasses = new Vector<Class<?>>();
 Class<JList> rootClass = javax.swing.JList.class;
 for(Class<?> cls = rootClass; cls != null; cls = cls.getSuperclass()) {
     superClasses.addElement(cls);
 }
 JList<Class<?>> myList = new JList<Class<?>>(superClasses);

 // The automatically created model is stored in JList's "model"
 // property, which you can retrieve

 ListModel<Class<?>> model = myList.getModel();
 for(int i = 0; i < model.getSize(); i++) {
     System.out.println(model.getElementAt(i));
 }
 
 

コンストラクタまたはsetModelメソッドを使用して、ListModelJListに直接指定できます。 コンテンツがstaticである必要はありません。項目数や項目の値は、時間の経過とともに変化してもかまいません。 ListModelが正しく実装されていれば、変更が発生するたびに、追加されたjavax.swing.event.ListDataListenerのセットに通知が送られます。 これらの変更は、修正、追加または削除されたリスト・インデックスの範囲を識別するjavax.swing.event.ListDataEventによって記述されます。 JListListUIは、モデルの変更を待機することによって、視覚表現が常に最新の状態になるようにします。

単純な動的コンテンツのJListアプリケーションは、DefaultListModelクラスを使用してリスト要素を管理できます。 このクラスは、ListModelインタフェースを実装し、java.util.Vectorと同様のAPIも提供します。 一方、カスタムListModel実装を必要とするアプリケーションは、リスナーの管理および通知に関する基本機能を提供するAbstractListModelのサブクラスとすることができます。 たとえば、AbstractListModelの読取り専用実装の場合、次のようになります。

 
 // This list model has about 2^16 elements.  Enjoy scrolling.

 ListModel<String> bigData = new AbstractListModel<String>() {
     public int getSize() { return Short.MAX_VALUE; }
     public String getElementAt(int index) { return "Index " + index; }
 };
 
 

JListの選択状態は、ListSelectionModelのインスタンスである別のモデルによって管理されます。 JListは、構築時に選択モデルによって初期化され、また、この選択モデルの照会や設定を行う各メソッドを含んでいます。 JListは、選択を簡単に管理できる便利なメソッドも提供します。 たとえばsetSelectedIndexgetSelectedValueなどのカバー・メソッドでは、選択モデルとのやりとりの詳細を管理できます。 デフォルトでは、JListの選択モデルは、任意の項目の組み合わせを一度に選択できるように設定されます(MULTIPLE_INTERVAL_SELECTION選択モード)。 選択モードは、選択モデル上で直接変更するか、JListのカバー・メソッドを使って変更します。 ユーザーのジェスチャに応じて選択モデルを更新する処理は、リストのListUIによって行われます。

ListSelectionModelが正しく実装されていれば、選択が変更されるたびに追加されたjavax.swing.event.ListSelectionListenerのセットに通知が送られます。 これらの変更は、選択範囲の変更を識別するjavax.swing.event.ListSelectionEventによって記述されます。

リスト選択の変更をリスンする方法としては、JListに直接ListSelectionListenerを追加することをお勧めします。 JListは、選択モデルをリッスンし、リスナーに変更を通知します。

リストの視覚表現を常に最新の状態にしておくため、選択の変更を待機する処理は、リストのListUIによって行われます。

JList内のセルのペイントは、リスト上にcellRendererプロパティとしてインストールされた、セル・レンダラと呼ばれる委譲によって処理されます。 このレンダラは、「ゴムスタンプ」のように使用してセルをペイントできるjava.awt.Componentを提供します。 セルをペイントする必要が生じるたびに、リストのListUIはセル・レンダラにコンポーネントを要求し、それを適切な位置に移動した後、paintメソッドを使用してセルのコンテンツをペイントします。 JLabelコンポーネントを使用してレンダリングを行うデフォルトのセル・レンダラは、リストのListUIによってインストールされます。 次のようなコードにより、独自のレンダラを使用することもできます。

 
  // Display an icon and a string for each object in the list.

 class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
     static final ImageIcon longIcon = new ImageIcon("long.gif");
     static final ImageIcon shortIcon = new ImageIcon("short.gif");

     // This is the only method defined by ListCellRenderer.
     // We just reconfigure the JLabel each time we're called.

     public Component getListCellRendererComponent(
       JList<?> list,           // the list
       Object value,            // value to display
       int index,               // cell index
       boolean isSelected,      // is the cell selected
       boolean cellHasFocus)    // does the cell have focus
     {
         String s = value.toString();
         setText(s);
         setIcon((s.length() > 10) ? longIcon : shortIcon);
         if (isSelected) {
             setBackground(list.getSelectionBackground());
             setForeground(list.getSelectionForeground());
         } else {
             setBackground(list.getBackground());
             setForeground(list.getForeground());
         }
         setEnabled(list.isEnabled());
         setFont(list.getFont());
         setOpaque(true);
         return this;
     }
 }

 myList.setCellRenderer(new MyCellRenderer());
 
 

セル・レンダリングの別のジョブは、リストのサイズ情報の特定にも役立ちます。 デフォルトでは、リストのListUIがセル・レンダリングに各リスト項目の推奨サイズを問い合わせることによって、セルのサイズを決定します。 リストの項目数が多い場合、この処理は負荷が大きくなります。 これらの計算を回避するには、リスト上にfixedCellWidthfixedCellHeightを設定するか、これらの値が単一のプロトタイプ値に基づいて自動計算されるように設定します。

 
 JList<String> bigDataList = new JList<String>(bigData);

 // We don't want the JList implementation to compute the width
 // or height of all of the list cells, so we give it a string
 // that's as big as we'll need for any cell.  It uses this to
 // compute values for the fixedCellWidth and fixedCellHeight
 // properties.

 bigDataList.setPrototypeCellValue("Index 1234567890");
 
 

JListはスクロールを直接実装していません。 スクロール・リストを作成するには、これをJScrollPaneのビューポート・ビューとして設定します。 たとえば、

 JScrollPane scrollPane = new JScrollPane(myList);

 // Or in two steps:
 JScrollPane scrollPane = new JScrollPane();
 scrollPane.getViewport().setView(myList);
 

JListは、ダブルクリックやトリプル・クリック(またはそれ以上の回数のクリック)のような特別な処理は行いませんが、これらのイベントの発生時にアクションを実行したい場合は、MouseListenerを簡単に追加できます。 クリックされたセルを調べるには、locationToIndexメソッドを使用します。 たとえば、

 MouseListener mouseListener = new MouseAdapter() {
     public void mouseClicked(MouseEvent e) {
         if (e.getClickCount() == 2) {
             int index = list.locationToIndex(e.getPoint());
             System.out.println("Double clicked on Item " + index);
          }
     }
 };
 list.addMouseListener(mouseListener);
 

警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

詳細は、「The Java Tutorial」の「How to Use Lists」を参照してください。

導入されたバージョン:
1.2
関連項目:
ListModel, AbstractListModel, DefaultListModel, ListSelectionModel, DefaultListSelectionModel, ListCellRenderer, DefaultListCellRenderer
  • フィールド詳細

    • VERTICAL

      public static final int VERTICAL
      セルを垂直方向に1列に並べたレイアウト(デフォルト)を示します。
      導入されたバージョン:
      1.4
      関連項目:
      setLayoutOrientation(int)定数フィールド値
    • VERTICAL_WRAP

      public static final int VERTICAL_WRAP
      セルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。
      導入されたバージョン:
      1.4
      関連項目:
      setLayoutOrientation(int)定数フィールド値
    • HORIZONTAL_WRAP

      public static final int HORIZONTAL_WRAP
      セルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。
      導入されたバージョン:
      1.4
      関連項目:
      setLayoutOrientation(int)定数フィールド値
  • コンストラクタの詳細

    • JList

      public JList​(ListModel<E> dataModel)
      指定されたnull以外のモデルの要素を表示するJListを構築します。 すべてのJListコンストラクタは、このオブジェクトに委譲します。

      このコンストラクタは、ToolTipManagerにリストを登録することにより、セル・レンダリングのツールヒントが提供されるようにします。

      パラメータ:
      dataModel - リストのモデル
      例外:
      IllegalArgumentException - モデルがnullの場合
    • JList

      public JList​(E[] listData)
      指定された配列の要素を表示するJListを構築します。 このコンストラクタは、指定された配列の読取り専用モデルを作成し、ListModelをとるコンストラクタに委譲します。

      このメソッドにnull値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定された配列を直接参照します。 リストの作成後に配列を変更しようとすると、不確定な動作が生じます。

      パラメータ:
      listData - データ・モデルにロードされるObjectの配列(null以外)
    • JList

      public JList​(Vector<? extends E> listData)
      指定されたVectorの要素を表示するJListを構築します。 このコンストラクタは、指定されたVectorの読取り専用モデルを作成し、ListModelをとるコンストラクタに委譲します。

      このメソッドにnull値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定されたVectorを直接参照します。 リストの作成後にVectorを変更しようとすると、不確定な動作が生じます。

      パラメータ:
      listData - データ・モデルにロードされるVectornon-null
    • JList

      public JList()
      空の読取り専用モデルでJListを構築します。
  • メソッドの詳細

    • getUI

      public ListUI getUI()
      このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトのListUIを返します。
      オーバーライド:
      クラスJComponentgetUI
      戻り値:
      このコンポーネントをレンダリングするListUIオブジェクト
    • setUI

      @BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.")public void setUI​(ListUI ui)
      このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトのListUIを設定します。
      パラメータ:
      ui - ListUIオブジェクト
      関連項目:
      UIDefaults.getUI(javax.swing.JComponent)
    • updateUI

      public void updateUI()
      ListUIプロパティに現在のルック・アンド・フィールが提供する値を設定することにより、このプロパティをリセットします。 現在のセル・レンダリングがルック・アンド・フィールによってではなく開発者によってインストールされたものである場合、この処理を実行すると、SwingUtilities.updateComponentTreeUIが呼び出されて、セル・レンダリングとその子が更新されます。
      オーバーライド:
      updateUI 、クラス:  JComponent
      関連項目:
      UIManager.getUI(javax.swing.JComponent), SwingUtilities.updateComponentTreeUI(java.awt.Component)
    • getUIClassID

      @BeanProperty(bound=false) public String getUIClassID()
      このコンポーネントのルック・アンド・フィールを定義するjavax.swing.plaf.ListUIクラスの名前を検索するために使用するUIDefaultsキー、"ListUI"を返します。
      オーバーライド:
      getUIClassID 、クラス:  JComponent
      戻り値:
      文字列「ListUI」
      関連項目:
      JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)
    • getPrototypeCellValue

      public E getPrototypeCellValue()
      セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。 このような値が存在しない場合は、nullが返される可能性があります。
      戻り値:
      prototypeCellValueプロパティの値
      関連項目:
      setPrototypeCellValue(E)
    • setPrototypeCellValue

      @BeanProperty(visualUpdate=true, description="The cell prototype value, used to compute cell width and height.")public void setPrototypeCellValue​(E prototypeCellValue)
      prototypeCellValueプロパティを設定し、新しい値がnon-nullである場合は、セル・レンダリング・コンポーネントにセル・レンダラからの指定の値(およびインデックス0)を要求し、このコンポーネントの推奨サイズを使用して、fixedCellWidthプロパティとfixedCellHeightプロパティを計算します。

      リストが長すぎてListUIが各セルの幅と高さを計算できず、ほかのセルと同じスペースを占有することがわかっているセル値(プロトタイプ)がある場合には、このメソッドが便利です。

      prototypeCellValuefixedCellHeightfixedCellWidthの3つのプロパティはすべてこのメソッドで変更できますが、PropertyChangeEvent通知が送信されるのは、prototypeCellValueプロパティが変更された場合にかぎられます。

      このプロパティの設定例を参照するには、上記のクラスの説明を参照してください。

      このプロパティのデフォルト値はnullです。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      prototypeCellValue - fixedCellWidthおよびfixedCellHeightのベースとなる値
      関連項目:
      getPrototypeCellValue(), setFixedCellWidth(int), setFixedCellHeight(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
    • getFixedCellWidth

      public int getFixedCellWidth()
      fixedCellWidthプロパティの値を返します。
      戻り値:
      固定セル幅
      関連項目:
      setFixedCellWidth(int)
    • setFixedCellWidth

      @BeanProperty(visualUpdate=true, description="Defines a fixed cell width when greater than zero.")public void setFixedCellWidth​(int width)
      リストに含まれるすべてのセルの幅として使用する固定値を設定します。 widthが -1の場合、リストの各要素のセル・レンダリング・コンポーネントにgetPreferredSizeを適用することにより、ListUIでセルの幅が計算されます。

      このプロパティのデフォルト値は-1です。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      width - リスト内のすべてのセルの幅
      関連項目:
      setPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
    • getFixedCellHeight

      public int getFixedCellHeight()
      fixedCellHeightプロパティの値を返します。
      戻り値:
      固定セル高
      関連項目:
      setFixedCellHeight(int)
    • setFixedCellHeight

      @BeanProperty(visualUpdate=true, description="Defines a fixed cell height when greater than zero.")public void setFixedCellHeight​(int height)
      リストに含まれるすべてのセルの高さとして使用する固定値を設定します。 heightが -1の場合、リストの各要素のセル・レンダリング・コンポーネントにgetPreferredSizeを適用することにより、ListUIでセルの高さが計算されます。

      このプロパティのデフォルト値は-1です。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      height - リスト内のすべてのセルに使用される高さ
      関連項目:
      setPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
    • getCellRenderer

      public ListCellRenderer<? super E> getCellRenderer()
      リスト項目をペイントするオブジェクトを返します。
      戻り値:
      cellRendererプロパティの値
      関連項目:
      setCellRenderer(javax.swing.ListCellRenderer<? super E>)
    • setCellRenderer

      @BeanProperty(visualUpdate=true, description="The component used to draw the cells.")public void setCellRenderer​(ListCellRenderer<? super E> cellRenderer)
      リスト内の各セルをペイントするために使用される委譲を設定します。 セル・レンダリングのジョブについては、クラス・レベルのドキュメントで詳しく説明します。

      prototypeCellValueプロパティがnon-nullである場合は、セル・レンダリングを設定すると、fixedCellWidthプロパティとfixedCellHeightプロパティが再計算されます。 しかし、cellRendererプロパティに対してはPropertyChangeEventは1つだけ生成されます。

      このプロパティのデフォルト値はListUI委譲(ルック・アンド・フィールの実装)によって提供されます。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      cellRenderer - リストのセルをペイントするListCellRenderer
      関連項目:
      getCellRenderer()
    • getSelectionForeground

      public Color getSelectionForeground()
      選択された項目のフォアグラウンドの描画に使用する色を返します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。
      戻り値:
      選択された項目のフォアグラウンドを描画する色
      関連項目:
      setSelectionForeground(java.awt.Color), DefaultListCellRenderer
    • setSelectionForeground

      @BeanProperty(visualUpdate=true, description="The foreground color of selected cells.")public void setSelectionForeground​(Color selectionForeground)
      選択された項目のフォアグラウンドのレンダリングに使用する色(セル・レンダリングがテキストとグラフィックスのレンダリングに使用できる色)を設定します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。

      このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      selectionForeground - 選択されたリスト項目のフォアグラウンドで使用するColor
      関連項目:
      getSelectionForeground(), setSelectionBackground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRenderer
    • getSelectionBackground

      public Color getSelectionBackground()
      選択された項目のバックグラウンドの描画に使用する色を返します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のバックグラウンドをレンダリングします。
      戻り値:
      選択された項目のバックグラウンドを描画する色
      関連項目:
      setSelectionBackground(java.awt.Color), DefaultListCellRenderer
    • setSelectionBackground

      @BeanProperty(visualUpdate=true, description="The background color of selected cells.")public void setSelectionBackground​(Color selectionBackground)
      選択された項目のバックグラウンドのレンダリングに使用する色(セル・レンダリングが選択したセルの塗りつぶしに使用できる色)を設定します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のバックグラウンドを塗りつぶします。

      このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      selectionBackground - 選択されたセルのバックグラウンドで使用するColor
      関連項目:
      getSelectionBackground(), setSelectionForeground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRenderer
    • getVisibleRowCount

      public int getVisibleRowCount()
      visibleRowCountプロパティの値を返します。 この値の解釈方法の詳細については、setVisibleRowCount(int)のドキュメントを参照してください。
      戻り値:
      visibleRowCountプロパティの値。
      関連項目:
      setVisibleRowCount(int)
    • setVisibleRowCount

      @BeanProperty(visualUpdate=true, description="The preferred number of rows to display without requiring scrolling")public void setVisibleRowCount​(int visibleRowCount)
      visibleRowCountプロパティ(レイアウト方向によって意味が異なる)を設定します。レイアウト方向がVERTICALの場合、スクロールしないで表示できる適切な行数が設定されます。これ以外の方向の場合、セルの折返しに影響があります。

      VERTICAL方向の場合:
      このプロパティを設定すると、囲み側のビュー・ポートの推奨サイズの計算に使用される、getPreferredScrollableViewportSize()メソッドの戻り値に影響があります。
      詳細は、該当メソッドのドキュメントを参照してください。

      HORIZONTAL_WRAP方向またはVERTICAL_WRAP方向の場合:
      セルの折返しの方法に影響があります。
      詳細は、setLayoutOrientation(int)のドキュメントを参照してください。

      このプロパティのデフォルト値は8です。

      負の値を指定してこのメソッドを呼び出した場合、プロパティが0に設定されます。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      visibleRowCount - スクロールしないで表示できる適切な行数を指定する整数
      関連項目:
      getVisibleRowCount(), getPreferredScrollableViewportSize(), setLayoutOrientation(int), JComponent.getVisibleRect(), JViewport
    • getLayoutOrientation

      public int getLayoutOrientation()
      リストのレイアウト方向のプロパティを返します。レイアウトがセルの単一の列の場合はVERTICAL、コンテンツが垂直方向の次に水平方向の順に並ぶ「ニュースペーパー・スタイル」の場合はVERTICAL_WRAP、コンテンツが水平方向の次に垂直方向の順に並ぶ「ニュースペーパー・スタイル」の場合はHORIZONTAL_WRAPを返します。
      戻り値:
      layoutOrientationプロパティの値
      導入されたバージョン:
      1.4
      関連項目:
      setLayoutOrientation(int)
    • setLayoutOrientation

      @BeanProperty(visualUpdate=true, enumerationValues={"JList.VERTICAL","JList.HORIZONTAL_WRAP","JList.VERTICAL_WRAP"}, description="Defines the way list cells are layed out.")public void setLayoutOrientation​(int layoutOrientation)
      リストのセルの配置方法を定義します。 5つのセルから成るJListがあるとします。 セルのレイアウト方法は、次のどれかになります。
       VERTICAL:          0
                          1
                          2
                          3
                          4
      
       HORIZONTAL_WRAP:   0  1  2
                          3  4
      
       VERTICAL_WRAP:     0  3
                          1  4
                          2
       

      これらのレイアウトの説明は、次のとおりです。

      VERTICAL、HORIZONTAL_WRAP、およびVERTICAL_WRAPのレイアウトについて説明
      説明
      VERTICAL セルは垂直方向に1列に配置されます。
      HORIZONTAL_WRAP セルは水平方向に配置され、必要に応じて次の行へ折り返されます。 visibleRowCountプロパティの値がゼロ以下である場合、折返しはリストの幅によって決定されます。それ以外の場合は、リスト内にvisibleRowCount行が確保されるように折返しが行われます。
      VERTICAL_WRAP セルは垂直方向に配置され、必要に応じて次の列へ折り返されます。 visibleRowCountプロパティの値がゼロ以下である場合、折返しはリストの高さによって決定されます。それ以外の場合は、visibleRowCount行で折返しが行われます。
      このプロパティのデフォルト値はVERTICALです。

      パラメータ:
      layoutOrientation - 新しいレイアウト方向。VERTICALHORIZONTAL_WRAP、またはVERTICAL_WRAPのどれか
      例外:
      IllegalArgumentException - layoutOrientationが許容値のどれでもない場合
      導入されたバージョン:
      1.4
      関連項目:
      getLayoutOrientation(), setVisibleRowCount(int), getScrollableTracksViewportHeight(), getScrollableTracksViewportWidth()
    • getFirstVisibleIndex

      @BeanProperty(bound=false) public int getFirstVisibleIndex()
      現在表示されている最小のリスト・インデックスを返します。 componentOrientationが左から右である場合、最初の可視セルはリストの左上隅にもっとも近い位置に見つかります。 右から左である場合、最初の可視セルはリストの右上隅にもっとも近い位置に見つかります。 どのセルも可視ではない場合やリストが空である場合には-1を返します。 返されたセルは部分的に可視でもかまいません。
      戻り値:
      最初の可視セルのインデックス
      関連項目:
      getLastVisibleIndex(), JComponent.getVisibleRect()
    • getLastVisibleIndex

      @BeanProperty(bound=false) public int getLastVisibleIndex()
      現在表示されている最大のリスト・インデックスを返します。 どのセルも可視ではない場合やリストが空である場合には-1を返します。 返されたセルは部分的に可視でもかまいません。
      戻り値:
      最後の可視セルのインデックス
      関連項目:
      getFirstVisibleIndex(), JComponent.getVisibleRect()
    • ensureIndexIsVisible

      public void ensureIndexIsVisible​(int index)
      囲み側のビュー・ポート内のリストをスクロールし、指定されたセルを完全に可視にします。 これは、指定されたセルの境界を引数にして、scrollRectToVisibleを呼びます。 このメソッドが動作するには、JListJViewport内に存在する必要があります。

      指定されたインデックスがリストのセルの範囲外にある場合、このメソッドは何も行いません。

      パラメータ:
      index - 可視にするセルのインデックス
      関連項目:
      JComponent.scrollRectToVisible(java.awt.Rectangle), JComponent.getVisibleRect()
    • setDragEnabled

      @BeanProperty(bound=false, description="determines whether automatic drag handling is enabled")public void setDragEnabled​(boolean b)
      自動ドラッグ処理をオンまたはオフにします。 自動ドラッグ処理を有効にするには、このプロパティの値をtrueに設定し、リストのTransferHandlerの値をnon-nullにしてください。 dragEnabledプロパティのデフォルト値はfalseです。

      このプロパティを受け入れ、ユーザーのドラッグ・ジェスチャを認識する処理は、ルック・アンド・フィール実装(特にリストのListUI)によって行われます。 自動ドラッグ処理が有効である場合、ほとんどのルック・アンド・フィール (BasicLookAndFeelのサブクラスのルック・アンド・フィールを含む)は、ユーザーが項目の上でマウス・ボタンを押し、マウスを数ピクセル移動すると、ドラッグ・アンド・ドロップ操作を開始します。 したがって、このプロパティをtrueに設定すると、選択の動作に微妙に影響する場合があります。

      このプロパティを無視するようなルック・アンド・フィールを使用している場合も、リストのTransferHandler上でexportAsDragを呼び出すことにより、ドラッグ・アンド・ドロップ操作を開始できます。

      パラメータ:
      b - 自動ドラッグ処理を有効にするかどうか
      例外:
      HeadlessException - btrueで、GraphicsEnvironment.isHeadless()trueを返す場合
      導入されたバージョン:
      1.4
      関連項目:
      GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler
    • getDragEnabled

      public boolean getDragEnabled()
      自動ドラッグ処理が有効であるかどうかを返します。
      戻り値:
      dragEnabledプロパティの値
      導入されたバージョン:
      1.4
      関連項目:
      setDragEnabled(boolean)
    • setDropMode

      public final void setDropMode​(DropMode dropMode)
      このコンポーネントのドロップ・モードを設定します。 下位互換性を確保するため、このプロパティのデフォルト値はDropMode.USE_SELECTIONになっています。 ただし、ユーザー側の操作を改善する場合は、ほかのモードを使用することをお勧めします。 たとえば、DropMode.ONは、リスト内の実際の選択内容に影響を及ぼすことなく、選択されたように項目を表示する動作と似た動作を提供します。

      JListは次のドロップ・モードをサポートしています。

      • DropMode.USE_SELECTION
      • DropMode.ON
      • DropMode.INSERT
      • DropMode.ON_OR_INSERT
      このコンポーネントがドロップを受け付けるTransferHandlerを持っていなければ、ドロップ・モードの効果はありません。

      パラメータ:
      dropMode - 使用するドロップ・モード
      例外:
      IllegalArgumentException - ドロップ・モードがサポートされていないかnullの場合
      導入されたバージョン:
      1.6
      関連項目:
      getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler
    • getDropMode

      public final DropMode getDropMode()
      このコンポーネントのドロップ・モードを返します。
      戻り値:
      このコンポーネントのドロップ・モード
      導入されたバージョン:
      1.6
      関連項目:
      setDropMode(javax.swing.DropMode)
    • getDropLocation

      @BeanProperty(bound=false) public final JList.DropLocation getDropLocation()
      このコンポーネントがコンポーネントのドラッグ・アンド・ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合はnullを返します。

      このメソッドは、TransferHandlerからドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandlercanImportが返され、ドロップ位置を表示する準備ができてから設定されるためです。

      このプロパティが変更されると、コンポーネントにより、プロパティ変更イベントdropLocationがトリガーされます。

      デフォルトでは、このプロパティに対する変更を待機し、ドロップ位置を視覚的に示す処理は、リストのListUIが行います。これは、ドロップ位置を直接ペイントするか、セル・レンダラをインストールしてこの処理を行わせるか、またはその両方の処理を行う可能性があります。 カスタム・ドロップ位置のペイントを実装するか、デフォルトのセル・レンダラを置き換えるか、またはその両方の処理を行う開発者は、このプロパティを考慮する必要がある場合があります。

      戻り値:
      ドロップ位置
      導入されたバージョン:
      1.6
      関連項目:
      setDropMode(javax.swing.DropMode), TransferHandler.canImport(TransferHandler.TransferSupport)
    • getNextMatch

      public int getNextMatch​(String prefix, int startIndex, Position.Bias bias)
      指定された接頭辞で始まる、toString値を持つ次のリスト要素を返します。
      パラメータ:
      prefix - 一致をテストする文字列
      startIndex - 検索を開始するインデックス
      bias - 検索方向。Position.Bias.Forward、またはPosition.Bias.Backward。
      戻り値:
      接頭辞で始まる、次のリスト要素のインデックス。そうでない場合は-1
      例外:
      IllegalArgumentException - 接頭辞がnullまたはstartIndexが範囲外にある場合
      導入されたバージョン:
      1.4
    • getToolTipText

      public String getToolTipText​(MouseEvent event)
      指定されたイベントで使用されるツールヒント・テキストを返します。 これは、JComponentgetToolTipTextをオーバーライドして、まずイベントが発生したセルのセル・レンダリング・コンポーネントをチェックし、ツールヒント・テキストがあれば、それを返します。 この実装では、セル・レンダリング・コンポーネントに対してsetToolTipTextを使用することにより、セル・レベルでツールヒント・テキストを指定できます。

      ノート: JListがこの方法でレンダラのツールヒントを適切に表示するためには、JListToolTipManagerに登録済のコンポーネントである必要があります。 この登録は、コンストラクタで自動的に行われます。 ただし、その後setToolTipText(null)の呼出しによりJListの登録が解除された場合、レンダリングからのヒントは表示されなくなります。

      オーバーライド:
      getToolTipText 、クラス:  JComponent
      パラメータ:
      event - ツールヒント・テキストを取得するMouseEvent
      戻り値:
      ツール・ヒントを含む文字列
      関連項目:
      JComponent.setToolTipText(java.lang.String), JComponent.getToolTipText()
    • locationToIndex

      public int locationToIndex​(Point location)
      リストの座標系内の指定された位置にもっとも近いセル・インデックスを返します。 セルが実際にその指定された位置を含むかどうかを判定するには、その点と、getCellBoundsで提供されるセルの境界とを比較します。 このメソッドは、モデルが空の場合、-1を返します

      これは、リストのListUI内の同じ名前のメソッドに委譲するカバー・メソッドです。 リストにListUIがない場合、-1を返します。

      パラメータ:
      location - 点の座標
      戻り値:
      指定された位置にもっとも近いセル・インデックス、または-1
    • indexToLocation

      public Point indexToLocation​(int index)
      リストの座標系内の指定された項目の原点を返します。 このメソッドは、インデックスが有効でない場合にnullを返します。

      これは、リストのListUI内の同じ名前のメソッドに委譲するカバー・メソッドです。 リストにListUIがない場合、nullを返します。

      パラメータ:
      index - セルのインデックス
      戻り値:
      セルの原点、またはnull
    • getCellBounds

      public Rectangle getCellBounds​(int index0, int index1)
      2つのインデックスで指定されたセルの範囲を示す、リストの座標系内の境界の矩形を返します。 これらのインデックスは、任意の順序で指定できます。

      小さいほうのインデックスがリストのセルの範囲外にある場合、このメソッドはnullを返します。 小さいほうのインデックスが有効であっても、大きいほうのインデックスがリストの範囲外にある場合、最初のインデックスの境界だけが返されます。 そうでない場合、有効な範囲の境界が返されます。

      これは、リストのListUI内の同じ名前のメソッドに委譲するカバー・メソッドです。 リストにListUIがない場合、nullを返します。

      パラメータ:
      index0 - 範囲の1番目のインデックス
      index1 - 範囲の2番目のインデックス
      戻り値:
      セルの範囲を示す境界の矩形、またはnull
    • getModel

      public ListModel<E> getModel()
      JListコンポーネントによって表示される項目のリストを保持するデータ・モデルを返します。
      戻り値:
      表示された項目のリストを提供するListModel
      関連項目:
      setModel(javax.swing.ListModel<E>)
    • setModel

      @BeanProperty(visualUpdate=true, description="The object that contains the data to be drawn by this JList.")public void setModel​(ListModel<E> model)
      リストの内容または「値」を表すモデルを設定し、プロパティ変更リスナーに通知して、リストの選択をクリアします。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      model - 表示される項目のリストを提供するListModel
      例外:
      IllegalArgumentException - modelnullである場合
      関連項目:
      getModel(), clearSelection()
    • setListData

      public void setListData​(E[] listData)
      項目の配列から読取り専用ListModelを構築し、このモデルを使ってsetModelを呼び出します。

      このメソッドにnull値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定された配列を直接参照します。 このメソッドの呼出し後に配列を変更しようとすると、不確定な動作が生じます。

      パラメータ:
      listData - リストに表示する項目を保持するEの配列
      関連項目:
      setModel(javax.swing.ListModel<E>)
    • setListData

      public void setListData​(Vector<? extends E> listData)
      Vectorから読取り専用ListModelを構築し、このモデルを使ってsetModelを呼び出します。

      このメソッドにnull値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定されたVectorを直接参照します。 このメソッドの呼出し後にVectorを変更しようとすると、不確定な動作が生じます。

      パラメータ:
      listData - リストに表示する項目を保持するVector
      関連項目:
      setModel(javax.swing.ListModel<E>)
    • createSelectionModel

      protected ListSelectionModel createSelectionModel()
      リストの選択モデル・プロパティを初期化するため、構築中に呼び出されるDefaultListSelectionModelのインスタンスを返します。
      戻り値:
      構築中にリストの選択モデル・プロパティを初期化するために使用するDefaultListSelecitonModel
      関連項目:
      setSelectionModel(javax.swing.ListSelectionModel), DefaultListSelectionModel
    • getSelectionModel

      public ListSelectionModel getSelectionModel()
      現在の選択モデルを返します。 選択モデルは、リストの選択状態を保持します。 詳細は、クラス・レベルのドキュメントを参照してください。
      戻り値:
      リストの選択を保持するListSelectionModel
      関連項目:
      setSelectionModel(javax.swing.ListSelectionModel), ListSelectionModel
    • fireSelectionValueChanged

      protected void fireSelectionValueChanged​(int firstIndex, int lastIndex, boolean isAdjusting)
      選択のリストに直接追加されたListSelectionListenerに、選択モデルに変更が加えられたことを通知します。 JListは、選択モデル内の選択に対する変更を待機し、このメソッドを呼び出すことにより、リストに直接追加されたリスナーに通知を送ります。

      このメソッドは、このリストをソースとし、指定の引数を使って、ListSelectionEventを構築します。さらに、それを登録済みのListSelectionListenersに送信します。

      パラメータ:
      firstIndex - 範囲内の最初のインデックス、<= lastIndex
      lastIndex - 範囲内の最後のインデックス、>= firstIndex
      isAdjusting - このイベントが変更中の一連のイベントに含まれているかどうか
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener), removeListSelectionListener(javax.swing.event.ListSelectionListener), ListSelectionEvent, EventListenerList
    • addListSelectionListener

      public void addListSelectionListener​(ListSelectionListener listener)
      選択が変更されるたびに通知されるリストにリスナーを追加します。選択状態の変更を待機する方法としてお勧めです。 JListは、選択モデルの選択状態の変更を待機し、指定されたリスナーに個々の変更を通知します。 リスナーに送信されたListSelectionEventにより、sourceプロパティがこのリストに設定されます。
      パラメータ:
      listener - 追加するListSelectionListener
      関連項目:
      getSelectionModel(), getListSelectionListeners()
    • removeListSelectionListener

      public void removeListSelectionListener​(ListSelectionListener listener)
      リストから選択リスナーを削除します。
      パラメータ:
      listener - 削除するListSelectionListener
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener), getSelectionModel()
    • getListSelectionListeners

      @BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()
      addListSelectionListenerを使用してこのJListに追加されたすべてのListSelectionListenerの配列を返します。
      戻り値:
      このリスト上のすべてのListSelectionListener。追加されたリスナーがない場合は空の配列
      導入されたバージョン:
      1.4
      関連項目:
      addListSelectionListener(javax.swing.event.ListSelectionListener)
    • setSelectionModel

      @BeanProperty(description="The selection model, recording which cells are selected.")public void setSelectionModel​(ListSelectionModel selectionModel)
      リストのselectionModelnullではないListSelectionModel実装に設定します。 選択モデルは、単一選択、隣接した範囲の選択、および非隣接選択を作成するタスクを処理します。

      これはJavaBeansバウンド・プロパティです。

      パラメータ:
      selectionModel - 選択を実装するListSelectionModel
      例外:
      IllegalArgumentException - selectionModelnullである場合
      関連項目:
      getSelectionModel()
    • setSelectionMode

      @BeanProperty(bound=false, enumerationValues={"ListSelectionModel.SINGLE_SELECTION","ListSelectionModel.SINGLE_INTERVAL_SELECTION","ListSelectionModel.MULTIPLE_INTERVAL_SELECTION"}, description="The selection mode.")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 - このモードでは、選択対象に制限はありません。 このモードがデフォルトです。

      パラメータ:
      selectionMode - 選択モード
      例外:
      IllegalArgumentException - 許可された選択モードでない場合
      関連項目:
      getSelectionMode()
    • getSelectionMode

      public int getSelectionMode()
      リストの現在の選択モードを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      現在の選択モード
      関連項目:
      setSelectionMode(int)
    • getAnchorSelectionIndex

      @BeanProperty(bound=false) public int getAnchorSelectionIndex()
      アンカー選択インデックスを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      アンカー選択インデックス
      関連項目:
      ListSelectionModel.getAnchorSelectionIndex()
    • getLeadSelectionIndex

      @BeanProperty(bound=false, description="The lead selection index.") public int getLeadSelectionIndex()
      選択範囲のリード・インデックスを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      リード選択インデックス
      関連項目:
      ListSelectionModel.getLeadSelectionIndex()
    • getMinSelectionIndex

      @BeanProperty(bound=false) public int getMinSelectionIndex()
      選択されているセルの最小インデックスを返すか、選択範囲が空の場合は-1を返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      選択されているセルの最小インデックス、または-1
      関連項目:
      ListSelectionModel.getMinSelectionIndex()
    • getMaxSelectionIndex

      @BeanProperty(bound=false) public int getMaxSelectionIndex()
      選択されているセルの最大インデックスを返すか、選択範囲が空の場合は-1を返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      選択されているセルの最大インデックス
      関連項目:
      ListSelectionModel.getMaxSelectionIndex()
    • isSelectedIndex

      public boolean isSelectedIndex​(int index)
      指定のインデックスが選択されている場合はtrueを返し、それ以外の場合はfalseを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      パラメータ:
      index - 選択状態が照会されるインデックス
      戻り値:
      指定のインデックスが選択されている場合はtrue、それ以外の場合はfalse
      関連項目:
      ListSelectionModel.isSelectedIndex(int), setSelectedIndex(int)
    • isSelectionEmpty

      @BeanProperty(bound=false) public boolean isSelectionEmpty()
      何も選択されていない場合はtrueを返し、それ以外の場合はfalseを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      戻り値:
      何も選択されていない場合はtrue、それ以外の場合はfalse
      関連項目:
      ListSelectionModel.isSelectionEmpty(), clearSelection()
    • clearSelection

      public void clearSelection()
      選択をクリアします。このメソッドを呼び出したあとは、isSelectionEmptytrueを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
      関連項目:
      ListSelectionModel.clearSelection(), isSelectionEmpty()
    • setSelectionInterval

      public void setSelectionInterval​(int anchor, int lead)
      指定された区間を選択します。 anchorleadの両方のインデックスが含まれます。anchorlead以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。

      0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。

      パラメータ:
      anchor - 選択する最初のインデックス
      lead - 選択する最後のインデックス
      関連項目:
      ListSelectionModel.setSelectionInterval(int, int), DefaultListSelectionModel.setSelectionInterval(int, int), createSelectionModel(), addSelectionInterval(int, int), removeSelectionInterval(int, int)
    • addSelectionInterval

      public void addSelectionInterval​(int anchor, int lead)
      指定された区間を現在の選択に加えます。 anchorleadの両方のインデックスが含まれます。anchorlead以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。

      0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。

      パラメータ:
      anchor - 選択に追加する最初のインデックス
      lead - 選択に追加する最後のインデックス
      関連項目:
      ListSelectionModel.addSelectionInterval(int, int), DefaultListSelectionModel.addSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), removeSelectionInterval(int, int)
    • removeSelectionInterval

      public void removeSelectionInterval​(int index0, int index1)
      選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。 index0index1の両方のインデックスが削除されます。index0index1以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。

      0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。

      パラメータ:
      index0 - 選択から削除する最初のインデックス
      index1 - 選択から削除する最後のインデックス
      関連項目:
      ListSelectionModel.removeSelectionInterval(int, int), DefaultListSelectionModel.removeSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), addSelectionInterval(int, int)
    • setValueIsAdjusting

      public void setValueIsAdjusting​(boolean b)
      選択モデルのvalueIsAdjustingプロパティを設定します。 trueの場合、選択モデルに対する複数の変更は、1つの変更の一部であると見なされるはずです。 このプロパティは内部で使用され、開発者は通常、このメソッドを呼び出す必要はありません。 たとえば、ユーザーのドラッグに応じてモデルが更新される場合、プロパティの値は、ドラッグの開始時にはtrue、終了時にはfalseに設定されます。 このため、中間値をすべて処理するのではなく、変更がファイナライズされた場合にだけリスナーを更新できます。

      一連の変更を1回の変更の一部と見なす必要がある場合は、これを直接使用できます。

      これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。 詳細は、ListSelectionModel.setValueIsAdjusting(boolean)のドキュメントを参照してください。

      パラメータ:
      b - プロパティの変更後の値
      関連項目:
      ListSelectionModel.setValueIsAdjusting(boolean), ListSelectionEvent.getValueIsAdjusting(), getValueIsAdjusting()
    • getValueIsAdjusting

      public boolean getValueIsAdjusting()
      選択モデルのisAdjustingプロパティの値を返します。

      これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。

      戻り値:
      選択モデルのisAdjustingプロパティの値。
      関連項目:
      setValueIsAdjusting(boolean), ListSelectionModel.getValueIsAdjusting()
    • getSelectedIndices

      public int[] getSelectedIndices()
      選択されているすべてのインデックスの昇順配列を返します。
      戻り値:
      選択されているすべてのインデックス(昇順)、または何も選択されていない場合は空の配列
      関連項目:
      removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • setSelectedIndex

      @BeanProperty(bound=false, description="The index of the selected cell.")public void setSelectedIndex​(int index)
      単一セルを選択します。 指定されたインデックスがモデル・サイズ以上である場合は、何も行いません。 これは、選択モデル上でsetSelectionIntervalを使用する簡易メソッドです。 0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。
      パラメータ:
      index - 選択するセルのインデックス
      関連項目:
      ListSelectionModel.setSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • setSelectedIndices

      public void setSelectedIndices​(int[] indices)
      選択を、指定の配列によって示される一連のインデックスに変更します。 モデル・サイズ以上のインデックスは無視されます。 これは、選択をクリアし、選択モデル上でaddSelectionIntervalを使ってインデックスを追加する簡易メソッドです。 0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。
      パラメータ:
      indices - 選択するセルのインデックスの配列、null以外
      例外:
      NullPointerException - 指定された配列がnullである場合
      関連項目:
      ListSelectionModel.addSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedValues

      @Deprecated @BeanProperty(bound=false) public Object[] getSelectedValues()
      非推奨。
      JDK 1.7以降は、getSelectedValuesList()に置き換えられています
      選択されているすべての値を、リスト内のインデックスに基づいて昇順の配列にして返します。
      戻り値:
      選択された値。何も選択されていない場合は空の配列
      関連項目:
      isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedValuesList

      @BeanProperty(bound=false) public List<E> getSelectedValuesList()
      選択されているすべての項目を、リスト内のインデックスに基づいて昇順のリストにして返します。
      戻り値:
      選択された項目。何も選択されていない場合は空のリスト
      導入されたバージョン:
      1.7
      関連項目:
      isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedIndex

      public int getSelectedIndex()
      選択されているセルの最小インデックスを返します。リスト内の項目が1つだけ選択されている場合は「選択値」 複数の項目が選択されている場合は、単純に選択されている最小インデックスになります。 何も選択されていない場合は-1を返します。

      このメソッドは、getMinSelectionIndexに委譲するカバー・メソッドです。

      戻り値:
      選択されているセルの最小インデックス
      関連項目:
      getMinSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • getSelectedValue

      @BeanProperty(bound=false) public E getSelectedValue()
      選択されているセルの最小インデックスの値を返します。リスト内の項目が1つだけ選択されている場合は「選択値」 複数の項目が選択されている場合は、単純に選択されている最小インデックスの値になります。 何も選択されていない場合はnullを返します。

      これは、単純にgetMinSelectionIndexのモデル値を返す簡易メソッドです。

      戻り値:
      最初に選択された値
      関連項目:
      getMinSelectionIndex(), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)
    • setSelectedValue

      public void setSelectedValue​(Object anObject, boolean shouldScroll)
      指定されたオブジェクトをリストから選択します。 渡されたオブジェクトがnullの場合は、選択がクリアされます。
      パラメータ:
      anObject - 選択するオブジェクト
      shouldScroll - オブジェクトが存在し、選択したオブジェクトを表示するためにリストをスクロールするべきである場合はtrue。そうでない場合はfalse
    • getPreferredScrollableViewportSize

      @BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
      visibleRowCount行を表示するために必要なビュー・ポートのサイズを計算します。 このメソッドの戻り値は、レイアウト方向によって異なります。

      VERTICAL:
      fixedCellWidthfixedCellHeightの両方が設定されている場合(明示的に設定される場合と、セルのプロトタイプ値を指定して設定される場合がある)、この値は明らかです。
      幅は、単純にfixedCellWidthにリストの水平のイン・セットを足し合わせた値になります。 高さは、fixedCellHeightvisibleRowCountを掛けて、リストの垂直のイン・セットを足し合わせた値になります。

      fixedCellWidthfixedCellHeightのどちらかが指定されていない場合、ヒューリスティックな方法が使用されます。 モデルが空であり、幅が0より大きいか、またはハードコードされた値256である場合、幅はfixedCellWidthになります。 fixedCellHeight0より大きい場合、高さはfixedCellHeightvisibleRowCountを掛けた値になります。そうでない場合は、ハードコードされた値16visibleRowCountを掛けた値になります。

      モデルが空でなければ、幅は推奨サイズの幅(通常、もっとも幅の広いリスト要素の幅)になります。 高さは、インデックス0にvisibleRowCountを乗算したセルの高さとリストの垂直枠を掛けたものです。

      VERTICAL_WRAPまたはHORIZONTAL_WRAP:
      このメソッドは、単純にgetPreferredSizeから値を返します。
      リストのListUIは、getPreferredSizeをオーバーライドして、適切な値を返す必要があります。

      定義:
      getPreferredScrollableViewportSize 、インタフェース: Scrollable
      戻り値:
      visibleRowCount行の表示に必要なビュー・ポートのサイズを含む寸法
      関連項目:
      getPreferredScrollableViewportSize(), setPrototypeCellValue(E)
    • getScrollableUnitIncrement

      public int getScrollableUnitIncrement​(Rectangle visibleRect, int orientation, int direction)
      次または前の行(垂直スクロール)または列(水平スクロール)を表示するためにスクロールする距離を返します。

      水平方向のスクロールでは、レイアウトの方向がVERTICALである場合、リストのフォント・サイズ(フォントがnullの場合は1)が返されます。

      定義:
      getScrollableUnitIncrement 、インタフェース: Scrollable
      パラメータ:
      visibleRect - ビュー・ポート内の可視のビュー領域
      orientation - SwingConstants.HORIZONTALまたはSwingConstants.VERTICAL
      direction - 上または左にスクロールする場合は0以下、下または右にスクロールする場合は0より大きい
      戻り値:
      指定された方向にスクロールするための「ユニット」増分値。常に正の値
      例外:
      IllegalArgumentException - visibleRectnull、またはorientationSwingConstants.VERTICALまたはSwingConstants.HORIZONTALのいずれでもない場合。
      関連項目:
      getScrollableBlockIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
    • getScrollableBlockIncrement

      public int getScrollableBlockIncrement​(Rectangle visibleRect, int orientation, int direction)
      次または前のブロックを表示するためにスクロールする距離を返します。

      垂直方向のスクロールには、次のルールが適用されます。

      • 下にスクロールする場合、最後の可視要素が最初の完全な可視要素になるように、スクロールする距離を返す
      • 上にスクロールする場合、最初の可視要素が最後の完全な可視要素になるように、スクロールする距離を返す
      • リストが空の場合は、visibleRect.heightを返す

      水平方向のスクロールで、レイアウト方向がVERTICAL_WRAPまたはHORIZONTAL_WRAPである場合、次のルールが適用されます。

      • 右にスクロールする場合、最後の可視要素が最初の完全な可視要素になるように、スクロールする距離を返す
      • 左にスクロールする場合、最初の可視要素が最後の完全な可視要素になるように、スクロールする距離を返す
      • リストが空の場合は、visibleRect.widthを返す

      水平方向のスクロールで、レイアウト方向がVERTICALである場合、visibleRect.widthを返します。

      visibleRectの値は、this.getVisibleRect()と同じである必要があります。

      定義:
      getScrollableBlockIncrement 、インタフェース: Scrollable
      パラメータ:
      visibleRect - ビュー・ポート内の可視のビュー領域
      orientation - SwingConstants.HORIZONTALまたはSwingConstants.VERTICAL
      direction - 上または左にスクロールする場合は0以下、下または右にスクロールする場合は0より大きい
      戻り値:
      指定された方向にスクロールするための「ブロック」増分値。常に正の値
      例外:
      IllegalArgumentException - visibleRectnull、またはorientationSwingConstants.VERTICALまたはSwingConstants.HORIZONTALのいずれでもない場合。
      関連項目:
      getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)
    • getScrollableTracksViewportWidth

      @BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
      このJListJViewport内に表示され、ビュー・ポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向がHORIZONTAL_WRAPvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。

      falseの場合、ビュー・ポートの幅を追跡しません。 これにより、JViewport自体がJScrollPaneに組み込まれている場合、水平スクロールができるようになります。

      定義:
      getScrollableTracksViewportWidth 、インタフェース: Scrollable
      戻り値:
      囲み側のビュー・ポートがリストの幅をそれ自体の幅に強制的に一致させるかどうか
      関連項目:
      Scrollable.getScrollableTracksViewportWidth()
    • getScrollableTracksViewportHeight

      @BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
      このJListJViewport内に表示され、ビュー・ポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向がVERTICAL_WRAPvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。

      falseの場合、ビュー・ポートの高さを追跡しません。 これにより、JViewport自体がJScrollPaneに組み込まれている場合、垂直スクロールができるようになります。

      定義:
      getScrollableTracksViewportHeight 、インタフェース: Scrollable
      戻り値:
      囲み側のビュー・ポートがリストの高さを自体の高さに強制的に一致させるかどうか
      関連項目:
      Scrollable.getScrollableTracksViewportHeight()
    • paramString

      protected String paramString()
      このJListString表現を返します。 このメソッドはデバッグ専用であり、返されるStringの内容および形式は実装によって異なります。 返されるStringは空の場合がありますが、nullにはなりません。
      オーバーライド:
      paramString 、クラス:  JComponent
      戻り値:
      このJListString表現。
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      このJListに関連付けられているAccessibleContextを取得します。 JListの場合、AccessibleContextAccessibleJListの形式を取ります。

      必要に応じて、新しいAccessibleJListインスタンスが作成されます。

      定義:
      getAccessibleContext、インタフェース: Accessible
      オーバーライド:
      getAccessibleContext、クラス: Component
      戻り値:
      このJListAccessibleContextとして機能するAccessibleJList