JavaTM Platform
Standard Ed. 6

javax.swing
クラス JList

java.lang.Object
  上位を拡張 java.awt.Component
      上位を拡張 java.awt.Container
          上位を拡張 javax.swing.JComponent
              上位を拡張 javax.swing.JList
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable

public class JList
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 myList = new JList(data);

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

 Vector superClasses = new Vector();
 Class rootClass = javax.swing.JList.class;
 for(Class cls = rootClass; cls != null; cls = cls.getSuperclass()) {
     superClasses.addElement(cls);
 }
 JList myList = new JList(superClasses);
 
 // The automatically created model is stored in JList's "model"
 // property, which you can retrieve

 ListModel 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 bigData = new AbstractListModel() {
     public int getSize() { return Short.MAX_VALUE; }
     public Object getElementAt(int index) { return "Index " + index; }
 };
 

JList の選択状態は、ListSelectionModel のインスタンスである別のモデルによって管理されます。JList は、構築時に選択モデルによって初期化されます。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 {
     final static ImageIcon longIcon = new ImageIcon("long.gif");
     final static 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 bigDataList = new JList(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 に適しています。JDK Version 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

詳細は、「The Java Tutorial」「How to Use Lists」を参照してください。また、「The Swing Connection」「Advanced JList Programming」も参照してください。

関連項目:
ListModel, AbstractListModel, DefaultListModel, ListSelectionModel, DefaultListSelectionModel, ListCellRenderer, DefaultListCellRenderer

入れ子のクラスの概要
protected  class JList.AccessibleJList
          このクラスは JList クラス用のアクセシビリティーサポートを実装しています。
static class JList.DropLocation
          JList のドロップ位置を表す TransferHandler.DropLocation のサブクラスです。
 
クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース
JComponent.AccessibleJComponent
 
クラス java.awt.Container から継承された入れ子のクラス/インタフェース
Container.AccessibleAWTContainer
 
クラス java.awt.Component から継承された入れ子のクラス/インタフェース
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
フィールドの概要
static int HORIZONTAL_WRAP
          セルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。
static int VERTICAL
          セルを垂直方向に 1 列に並べたレイアウト (デフォルト) を示します。
static int VERTICAL_WRAP
          セルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。
 
クラス javax.swing.JComponent から継承されたフィールド
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
クラス java.awt.Component から継承されたフィールド
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
インタフェース java.awt.image.ImageObserver から継承されたフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
コンストラクタの概要
JList()
          空の読み取り専用モデルで JList を構築します。
JList(ListModel dataModel)
          指定された null 以外の モデルの要素を表示する JList を構築します。
JList(Object[] listData)
          指定された配列の要素を表示する JList を構築します。
JList(Vector<?> listData)
          指定された Vector の要素を表示する JList を構築します。
 
メソッドの概要
 void addListSelectionListener(ListSelectionListener listener)
          選択が変更されるたびに通知されるリストにリスナーを追加します。
 void addSelectionInterval(int anchor, int lead)
          指定された区間を現在の選択に加えます。
 void clearSelection()
          選択をクリアします。
protected  ListSelectionModel createSelectionModel()
          リストの選択モデルプロパティーを初期化するため、構築中に呼び出される DefaultListSelectionModel のインスタンスを返します。
 void ensureIndexIsVisible(int index)
          囲み側のビューポート内のリストをスクロールし、指定されたセルを完全に可視にします。
protected  void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
          選択のリストに直接追加された ListSelectionListener に、選択モデルに変更が加えられたことを通知します。
 AccessibleContext getAccessibleContext()
          この JList に関連した AccessibleContext を取得します。
 int getAnchorSelectionIndex()
          アンカー選択インデックスを返します。
 Rectangle getCellBounds(int index0, int index1)
          2 つのインデックスで指定されたセルの範囲を示す、リストの座標系内の境界の矩形を返します。
 ListCellRenderer getCellRenderer()
          リスト項目をペイントするオブジェクトを返します。
 boolean getDragEnabled()
          自動ドラッグ処理が有効であるかどうかを返します。
 JList.DropLocation getDropLocation()
          このコンポーネントがコンポーネントのドラッグ&ドロップ時にドロップ位置として視覚的に示す位置を返します。
 DropMode getDropMode()
          このコンポーネントのドロップモードを返します。
 int getFirstVisibleIndex()
          現在表示されている最小のリストインデックスを返します。
 int getFixedCellHeight()
          fixedCellHeight プロパティーの値を返します。
 int getFixedCellWidth()
          fixedCellWidth プロパティーの値を返します。
 int getLastVisibleIndex()
          現在表示されている最大のリストインデックスを返します。
 int getLayoutOrientation()
          リストのレイアウト方向のプロパティーを返します。
 int getLeadSelectionIndex()
          選択範囲のリードインデックスを返します。
 ListSelectionListener[] getListSelectionListeners()
          addListSelectionListener により、この JList に追加されたすべての ListSelectionListener の配列を返します。
 int getMaxSelectionIndex()
          選択されているセルの最大インデックスを返すか、選択範囲が空の場合は -1 を返します。
 int getMinSelectionIndex()
          選択されているセルの最小インデックスを返すか、選択範囲が空の場合は -1 を返します。
 ListModel getModel()
          JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。
 int getNextMatch(String prefix, int startIndex, Position.Bias bias)
          指定された接頭辞で始まる、toString 値を持つ次のリスト要素を返します。
 Dimension getPreferredScrollableViewportSize()
          visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。
 Object getPrototypeCellValue()
          セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          次または前のブロックを表示するためにスクロールする距離を返します。
 boolean getScrollableTracksViewportHeight()
          この JListJViewport 内に表示され、ビューポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向が VERTICAL_WRAPvisibleRowCount <= 0 である場合、true を返します。
 boolean getScrollableTracksViewportWidth()
          この JListJViewport 内に表示され、ビューポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向が HORIZONTAL_WRAPvisibleRowCount <= 0 である場合、true を返します。
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          次または前の行 (垂直スクロール) または列 (水平スクロール) を表示するためにスクロールする距離を返します。
 int getSelectedIndex()
          選択されているセルの最小インデックス (リスト内の項目が 1 つだけ選択されている場合は「選択」) を返します。
 int[] getSelectedIndices()
          選択されているすべてのインデックスの昇順配列を返します。
 Object getSelectedValue()
          選択されているセルの最小インデックスの値 (リスト内の項目が 1 つだけ選択されている場合は「選択値」) を返します。
 Object[] getSelectedValues()
          選択されているすべての値を、リスト内のインデックスに基づいて昇順の配列にして返します。
 Color getSelectionBackground()
          選択された項目のバックグラウンドの描画に使用する色を返します。
 Color getSelectionForeground()
          選択された項目のフォアグラウンドの描画に使用する色を返します。
 int getSelectionMode()
          リストの現在の選択モードを返します。
 ListSelectionModel getSelectionModel()
          現在の選択モデルを返します。
 String getToolTipText(MouseEvent event)
          指定されたイベントで使用されるツールヒントテキストを返します。
 ListUI getUI()
          このコンポーネントを描画する Look & Feel オブジェクト ListUI を返します。
 String getUIClassID()
          このコンポーネントの Look & Feel を定義する javax.swing.plaf.ListUI クラスの名前を検索するために使用する UIDefaults キー、「ListUI」を返します。
 boolean getValueIsAdjusting()
          選択モデルの isAdjusting プロパティーの値を返します。
 int getVisibleRowCount()
          visibleRowCount プロパティーの値を返します。
 Point indexToLocation(int index)
          リストの座標系内の指定された項目の原点を返します。
 boolean isSelectedIndex(int index)
          指定のインデックスが選択されている場合は true、それ以外の場合は false を返します。
 boolean isSelectionEmpty()
          何も選択されていない場合は true、それ以外の場合は false を返します。
 int locationToIndex(Point location)
          リストの座標系内の指定された位置にもっとも近いセルインデックスを返します。
protected  String paramString()
          この JListString 表現を返します。
 void removeListSelectionListener(ListSelectionListener listener)
          リストから選択リスナーを削除します。
 void removeSelectionInterval(int index0, int index1)
          選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。
 void setCellRenderer(ListCellRenderer cellRenderer)
          リスト内の各セルをペイントするために使用される委譲を設定します。
 void setDragEnabled(boolean b)
          自動ドラッグ処理をオンまたはオフにします。
 void setDropMode(DropMode dropMode)
          このコンポーネントのドロップモードを設定します。
 void setFixedCellHeight(int height)
          リストに含まれるすべてのセルの高さとして使用する固定値を設定します。
 void setFixedCellWidth(int width)
          リストに含まれるすべてのセルの幅として使用する固定値を設定します。
 void setLayoutOrientation(int layoutOrientation)
          リストのセルの配置方法を定義する5 つのセルから成る JList があるとします。
 void setListData(Object[] listData)
          オブジェクトの配列から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。
 void setListData(Vector<?> listData)
          Vector から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。
 void setModel(ListModel model)
          リストの内容または「値」を表すモデルを設定し、リスナーにプロパティーの変更を通知して、リストの選択をクリアします。
 void setPrototypeCellValue(Object prototypeCellValue)
          prototypeCellValue プロパティーを設定し、新しい値が null 以外 である場合は、セルレンダリングコンポーネントにセルレンダリングからの指定の値 (およびインデックス 0) を要求し、このコンポーネントの推奨サイズを使用して、fixedCellWidth プロパティーと fixedCellHeight プロパティーを計算します。
 void setSelectedIndex(int index)
          単一セルを選択します。
 void setSelectedIndices(int[] indices)
          選択を、指定の配列によって示される一連のインデックスに変更します。
 void setSelectedValue(Object anObject, boolean shouldScroll)
          指定されたオブジェクトをリストから選択します。
 void setSelectionBackground(Color selectionBackground)
          選択された項目のバックグラウンドの描画に使用する色 (セルレンダリングが選択したセルの塗りつぶしに使用できる色) を設定します。
 void setSelectionForeground(Color selectionForeground)
          選択された項目のフォアグラウンドの描画に使用する色 (セルレンダリングがテキストとグラフィックスの描画に使用できる色) を設定します。
 void setSelectionInterval(int anchor, int lead)
          指定された区間を選択します。
 void setSelectionMode(int selectionMode)
          リストの選択モードを設定します。
 void setSelectionModel(ListSelectionModel selectionModel)
          リストの selectionModelnull ではない ListSelectionModel 実装に設定します。
 void setUI(ListUI ui)
          このコンポーネントを描画する Look & Feel オブジェクト ListUI を設定します。
 void setValueIsAdjusting(boolean b)
          選択モデルの valueIsAdjusting プロパティーを設定します。
 void setVisibleRowCount(int visibleRowCount)
          visibleRowCount プロパティー (レイアウト方向によって意味が異なる) を設定します。
 void updateUI()
          ListUI プロパティーに現在の Look & Feel が提供する値を設定することにより、このプロパティーをリセットします。
 
クラス javax.swing.JComponent から継承されたメソッド
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
クラス java.awt.Container から継承されたメソッド
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
クラス java.awt.Component から継承されたメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

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

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

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

JList

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

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

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

JList

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

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

パラメータ:
listData - データモデルにロードされる Vectornull 以外

JList

public JList()
空の読み取り専用モデルで JList を構築します。

メソッドの詳細

getUI

public ListUI getUI()
このコンポーネントを描画する Look & Feel オブジェクト ListUI を返します。

戻り値:
このコンポーネントを描画する ListUI オブジェクト

setUI

public void setUI(ListUI ui)
このコンポーネントを描画する Look & Feel オブジェクト ListUI を設定します。

パラメータ:
ui - ListUI オブジェクト
関連項目:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
ListUI プロパティーに現在の Look & Feel が提供する値を設定することにより、このプロパティーをリセットします。現在のセルレンダリングが Look & Feel によってではなく開発者によってインストールされたものである場合、この処理を実行すると、SwingUtilities.updateComponentTreeUI が呼び出されて、セルレンダリングとその子が更新されます。

オーバーライド:
クラス JComponent 内の updateUI
関連項目:
UIManager.getUI(javax.swing.JComponent), SwingUtilities.updateComponentTreeUI(java.awt.Component)

getUIClassID

public String getUIClassID()
このコンポーネントの Look & Feel を定義する javax.swing.plaf.ListUI クラスの名前を検索するために使用する UIDefaults キー、「ListUI」を返します。

オーバーライド:
クラス JComponent 内の getUIClassID
戻り値:
文字列「ListUI」
関連項目:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getPrototypeCellValue

public Object getPrototypeCellValue()
セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。このような値が存在しない場合は、null が返される可能性があります。

戻り値:
prototypeCellValue プロパティーの値
関連項目:
setPrototypeCellValue(java.lang.Object)

setPrototypeCellValue

public void setPrototypeCellValue(Object prototypeCellValue)
prototypeCellValue プロパティーを設定し、新しい値が 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

public void setFixedCellWidth(int width)
リストに含まれるすべてのセルの幅として使用する固定値を設定します。width が -1 の場合、リストの各要素のセルレンダリングコンポーネントに getPreferredSize を適用することにより、ListUI でセルの幅が計算されます。

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

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

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

getFixedCellHeight

public int getFixedCellHeight()
fixedCellHeight プロパティーの値を返します。

戻り値:
固定セル高
関連項目:
setFixedCellHeight(int)

setFixedCellHeight

public void setFixedCellHeight(int height)
リストに含まれるすべてのセルの高さとして使用する固定値を設定します。height が -1 の場合、リストの各要素のセルレンダリングコンポーネントに getPreferredSize を適用することにより、ListUI でセルの高さが計算されます。

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

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

パラメータ:
height - リスト内のすべてのセルの高さ
関連項目:
setPrototypeCellValue(java.lang.Object), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getCellRenderer

public ListCellRenderer getCellRenderer()
リスト項目をペイントするオブジェクトを返します。

戻り値:
cellRenderer プロパティーの値
関連項目:
setCellRenderer(javax.swing.ListCellRenderer)

setCellRenderer

public void setCellRenderer(ListCellRenderer cellRenderer)
リスト内の各セルをペイントするために使用される委譲を設定します。セルレンダリングのジョブについては、クラスレベルのドキュメントで詳しく説明します。

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

このプロパティーのデフォルト値は ListUI 委譲 (Look & Feel の実装) によって提供されます。

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

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

getSelectionForeground

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

戻り値:
選択された項目のフォアグラウンドを描画する色
関連項目:
setSelectionForeground(java.awt.Color), DefaultListCellRenderer

setSelectionForeground

public void setSelectionForeground(Color selectionForeground)
選択された項目のフォアグラウンドの描画に使用する色 (セルレンダリングがテキストとグラフィックスの描画に使用できる色) を設定します。大多数の ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のフォアグラウンドを描画します。

このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。

これは 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

public void setSelectionBackground(Color selectionBackground)
選択された項目のバックグラウンドの描画に使用する色 (セルレンダリングが選択したセルの塗りつぶしに使用できる色) を設定します。大多数の ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のバックグラウンドを塗りつぶします。

このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。

これは 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

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

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 セルは垂直方向に 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

public int getFirstVisibleIndex()
現在表示されている最小のリストインデックスを返します。componentOrientation が左から右である場合、最初の可視セルはリストの左上隅にもっとも近い位置に見つかります。componentOrientation が右から左である場合、最初の可視セルはリストの右上隅にもっとも近い位置に見つかります。どのセルも可視ではない場合やリストが空である場合には -1 を返します。返されたセルは部分的に可視でもかまいません。

戻り値:
最初の可視セルのインデックス
関連項目:
getLastVisibleIndex(), JComponent.getVisibleRect()

getLastVisibleIndex

public int getLastVisibleIndex()
現在表示されている最大のリストインデックスを返します。どのセルも可視ではない場合やリストが空である場合には -1 を返します。返されたセルは部分的に可視でもかまいません。

戻り値:
最後の可視セルのインデックス
関連項目:
getFirstVisibleIndex(), JComponent.getVisibleRect()

ensureIndexIsVisible

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

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

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

setDragEnabled

public void setDragEnabled(boolean b)
自動ドラッグ処理をオンまたはオフにします。自動ドラッグ処理を有効にするには、このプロパティーの値を true に設定し、リストの TransferHandler の値を null 以外 にしてください。dragEnabled プロパティーのデフォルト値は false です。

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

このプロパティーを無視するような Look & Feel を使用している場合も、リストの 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 は次のドロップモードをサポートしています。

このコンポーネントがドロップを受け付ける 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

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

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

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

デフォルトでは、このプロパティーに対する変更を待機し、ドロップ位置を視覚的に示す処理は、リストの ListUI が行います。この 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 の登録が解除された場合、レンダリングからのヒントは表示されなくなります。

オーバーライド:
クラス JComponent 内の getToolTipText
パラメータ:
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 - 範囲の先頭のインデックス
index1 - 範囲の 2 番目のインデックス
戻り値:
セルの範囲を示す境界の矩形、または null

getModel

public ListModel getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。

戻り値:
表示される項目のリストを提供する ListModel
関連項目:
setModel(javax.swing.ListModel)

setModel

public void setModel(ListModel model)
リストの内容または「値」を表すモデルを設定し、リスナーにプロパティーの変更を通知して、リストの選択をクリアします。

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

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

setListData

public void setListData(Object[] listData)
オブジェクトの配列から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。

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

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

setListData

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

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

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

createSelectionModel

protected ListSelectionModel createSelectionModel()
リストの選択モデルプロパティーを初期化するため、構築中に呼び出される DefaultListSelectionModel のインスタンスを返します。

戻り値:
構築中にリストの選択モデルプロパティーを初期化するために使用する DefaultListSelectionModel
関連項目:
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 を構築します。さらに、この ListSelectionEvent を登録済みの ListSelectionListener に送信します。

パラメータ:
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 により、ソース プロパティーとしてこのリストが設定されます。

パラメータ:
listener - 追加する ListSelectionListener
関連項目:
getSelectionModel(), getListSelectionListeners()

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener listener)
リストから選択リスナーを削除します。

パラメータ:
listener - 削除する ListSelectionListener
関連項目:
addListSelectionListener(javax.swing.event.ListSelectionListener), getSelectionModel()

getListSelectionListeners

public ListSelectionListener[] getListSelectionListeners()
addListSelectionListener により、この JList に追加されたすべての ListSelectionListener の配列を返します。

戻り値:
このリスト上のすべての ListSelectionListener。追加されたリスナーがない場合は空の配列
導入されたバージョン:
1.4
関連項目:
addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectionModel

public void setSelectionModel(ListSelectionModel selectionModel)
リストの selectionModelnull ではない ListSelectionModel 実装に設定します。選択モデルは、単一選択、隣接した範囲の選択、および非隣接選択を作成するタスクを処理します。

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

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

setSelectionMode

public void setSelectionMode(int selectionMode)
リストの選択モードを設定します。これは、選択モデル上で直接選択モードを設定するカバーメソッドです。

使用可能な選択モードは、次のリストのとおりです。

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

getSelectionMode

public int getSelectionMode()
リストの現在の選択モードを返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

戻り値:
現在の選択モード
関連項目:
setSelectionMode(int)

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
アンカー選択インデックスを返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

戻り値:
アンカー選択インデックス
関連項目:
ListSelectionModel.getAnchorSelectionIndex()

getLeadSelectionIndex

public int getLeadSelectionIndex()
選択範囲のリードインデックスを返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

戻り値:
リード選択インデックス
関連項目:
ListSelectionModel.getLeadSelectionIndex()

getMinSelectionIndex

public int getMinSelectionIndex()
選択されているセルの最小インデックスを返すか、選択範囲が空の場合は -1 を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

戻り値:
選択されているセルの最小インデックス、または -1
関連項目:
ListSelectionModel.getMinSelectionIndex()

getMaxSelectionIndex

public int getMaxSelectionIndex()
選択されているセルの最大インデックスを返すか、選択範囲が空の場合は -1 を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

戻り値:
選択されているセルの最大インデックス
関連項目:
ListSelectionModel.getMaxSelectionIndex()

isSelectedIndex

public boolean isSelectedIndex(int index)
指定のインデックスが選択されている場合は true、それ以外の場合は false を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

パラメータ:
index - 選択状態が照会されるインデックス
戻り値:
指定のインデックスが選択されている場合は true、それ以外の場合は false
関連項目:
ListSelectionModel.isSelectedIndex(int), setSelectedIndex(int)

isSelectionEmpty

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)
指定された区間を選択します。アンカー インデックスと リード インデックスが含まれます。アンカー の値は、リード 以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

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)
指定された区間を現在の選択に加えます。アンカー インデックスと リード インデックスが含まれます。アンカー の値は、リード 以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。

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

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

public Object[] getSelectedValues()
選択されているすべての値を、リスト内のインデックスに基づいて昇順の配列にして返します。

戻り値:
選択された値。何も選択されていない場合は空の配列
関連項目:
isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedIndex

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

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

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

getSelectedValue

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

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

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

setSelectedValue

public void setSelectedValue(Object anObject,
                             boolean shouldScroll)
指定されたオブジェクトをリストから選択します。

パラメータ:
anObject - 選択するオブジェクト
shouldScroll - オブジェクトが存在し、選択したオブジェクトを表示するためにリストをスクロールするべきである場合は true。そうでない場合は false

getPreferredScrollableViewportSize

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

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

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

モデルが空でなければ、幅は推奨サイズの幅 (通常、もっとも幅の広いリスト要素の幅) になります。高さは、fixedCellHeightvisibleRowCount を掛けて、リストの垂直のインセットを足し合わせた値になります。

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

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

getScrollableUnitIncrement

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

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

定義:
インタフェース Scrollable 内の getScrollableUnitIncrement
パラメータ:
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)
次または前のブロックを表示するためにスクロールする距離を返します。

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

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

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

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

定義:
インタフェース Scrollable 内の getScrollableBlockIncrement
パラメータ:
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

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

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

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

getScrollableTracksViewportHeight

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

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

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

paramString

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

オーバーライド:
クラス JComponent 内の paramString
戻り値:
この JListString 表現

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JList に関連した AccessibleContext を取得します。JList の場合、AccessibleContextAccessibleJList の形式を取ります。

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

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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。