JavaTM 2 Platform
Std. Ed. v1.3

javax.swing
クラス JList

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JList
すべての実装インタフェース:
Accessible, ImageObserver, MenuContainer, Scrollable, Serializable

public class JList
extends JComponent
implements Scrollable, Accessible

ユーザがリストから 1 つまたは複数のオブジェクトを選択するためのコンポーネントです。別のモデルである ListModel は、リストの内容を表します。ListModel のインスタンスを生成する JList コンストラクタを使用すれば、オブジェクトの配列またはベクタを簡単に表示できます。

 // Create a JList that displays the strings in data[]

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

 // The value of the JList model property is an object that provides
 // a read-only view of the data.  It was constructed automatically.

 for(int i = 0; i < dataList.getModel().getSize(); i++) {
     System.out.println(dataList.getModel().getElementAt(i));
 }

 // Create a JList that displays the superclass of JList.class.
 // We store the superclasses in a java.util.Vector.

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

JList はスクロールを直接サポートしていません。スクロールリストを作成するには、JListJScrollPane のビューポートビューとして設定します。次に例を示します。

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

デフォルトでは、定数 MULTIPLE_INTERVAL_SELECTION を使って、JList の選択モデルにより項目の組み合わせを一度に選択することができます。選択状態は実際には個別の委譲オブジェクト、ListSelectionModel のインスタンスで管理されています。ただし、JList では選択管理に便利なプロパティが提供されます。

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

 dataList.setSelectedIndex(1);  // select "two"
 dataList.getSelectedValue();   // returns "two"

JList の内容は動的です。つまり、JList の作成後にリスト要素の値やリストのサイズを変更できます。JList は、swing.event.ListDataListener 実装によってモデルの変更を監視します。ListModel が正しく実装されていれば、変更が発生するたびにリスナーに通知します。変更は、修正、追加、または削除されたリストインデックスの範囲を識別する swing.event.ListDataEvent によって記述されます。単純な動的内容の JList アプリケーションは、DefaultListModel クラスを使用してリスト要素を格納できます。このクラスは、ListModel インタフェースを実装し、java.util.Vector API も提供します。カスタム ListModel 実装を提供する必要があるアプリケーションは、基本的な ListDataListener サポートを提供する 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 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 は、cellRenderer を呼び出す委譲によって提供される java.awt.Component を使用して、リスト内で可視セルを描画します。可視の各行は、セルレンダリングコンポーネントを「ゴムスタンプ」のように使用して描画されます。JList は、セルを描画する必要があるたびに、セルレンダリングにコンポーネントを要求し、setBounds() を使用して適切な場所に配置してから、レンダリングの描画メソッドを呼び出して描画します。デフォルトのセルレンダリングは、JLabel コンポーネントを使用して、各コンポーネントの文字列値を描画します。次のようなコードにより、自分のセルレンダリングを使用することもできます。

  // 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,
       Object value,            // value to display
       int index,               // cell index
       boolean isSelected,      // is the cell selected
       boolean cellHasFocus)    // the list and the cell have the 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());
         return this;
     }
 }

 String[] data = {"one", "two", "three", "fur"};
 JList dataList = new JList(data);
 dataList.setCellRenderer(new MyCellRenderer());

JList は、ダブルクリックやトリプル (およびそれ以上の回数の) クリックを特別にはサポートしていませんが、MouseListener を利用すればそれらを簡単に処理することができます。クリックされたセルを調べるには、JListlocationToIndex() メソッドを使用します。次に例を示します。

 final JList list = new JList(dataModel);
 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);
この例では、dataList は匿名の MouseListener クラスによって参照されているため、final となっています。

標準の Look & Feel (L&F) 表現でこのコンポーネントが使用するキーボードのキーについては、JList のキーの割り当てを参照してください。

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

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

関連項目:
ListModel, AbstractListModel, DefaultListModel, ListSelectionModel, DefaultListSelectionModel, ListCellRenderer, 直列化された形式

内部クラスの概要
protected  class JList.AccessibleJList
          このクラスは JList クラス用のユーザ補助機能のサポートを実装しています。
 
クラス javax.swing.JComponent から継承した内部クラス
JComponent.AccessibleJComponent
 
クラス java.awt.Container から継承した内部クラス
Container.AccessibleAWTContainer
 
クラス java.awt.Component から継承した内部クラス
Component.AccessibleAWTComponent
 
クラス 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)
          選択モデルが変更されたことを JListListSelectionListener に通知します。
 AccessibleContext getAccessibleContext()
          この JList に関連した AccessibleContext を返します。
 int getAnchorSelectionIndex()
          最後の addSelectionModel または setSelectionInterval 呼び出しにおける最初のインデックス引数を返します。
 Rectangle getCellBounds(int index0, int index1)
          JList 座標で指定された項目範囲の境界を返します。
 ListCellRenderer getCellRenderer()
          リスト項目を描画するオブジェクトを返します。
 int getFirstVisibleIndex()
          JList の左上隅にあるセルのインデックスを返します。
 int getFixedCellHeight()
          固定セル高の値を返します。
 int getFixedCellWidth()
          固定セル幅の値を返します。
 int getLastVisibleIndex()
          JList の右下隅にあるセルのインデックスを返します。
 int getLeadSelectionIndex()
          最後の addSelectionInterval または setSelectionInterval 呼び出しにおける 2 番目のインデックス引数を返します。
 int getMaxSelectionIndex()
          選択されているセルの最大インデックスを返します。
 int getMinSelectionIndex()
          選択されているセルの最小インデックスを返します。
 ListModel getModel()
          JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。
 Dimension getPreferredScrollableViewportSize()
          visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。
 Object getPrototypeCellValue()
          「プロトタイプセル」のセル幅を返します。
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          ブロックの増分量を返します。
 boolean getScrollableTracksViewportHeight()
          この JListJViewport に表示され、ビューポートが JList の適切な高さよりも高い場合は true を返します。
 boolean getScrollableTracksViewportWidth()
          この JListJViewport に表示され、ビューポートが JList の適切な幅よりも広い場合は true を返します。
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          前または次の行 (垂直スクロール)、または文字 (水平スクロール) を表示するためにスクロールする距離を返します。
 int getSelectedIndex()
          最初に選択されたインデックスを返すか、選択項目がない場合は -1 を返します。
 int[] getSelectedIndices()
          選択されているすべてのインデックスの昇順配列を返します。
 Object getSelectedValue()
          最初に選択されたインデックスを返すか、選択が空の場合は null を返します。
 Object[] getSelectedValues()
          選択されたセルの値の配列を返します。
 Color getSelectionBackground()
          選択されたセルのバックグラウンドカラーを返します。
 Color getSelectionForeground()
          フォアグラウンドカラーの選択を返します。
 int getSelectionMode()
          単一項目選択または複数項目選択のどちらが許容されているかを返します。
 ListSelectionModel getSelectionModel()
          現在の選択モデルの値を返します。
 ListUI getUI()
          このコンポーネントを描画する Look & Feel (L&F) オブジェクトを返します。
 String getUIClassID()
          Look & Feel (L&F) クラスの名前の構築に使用された接頭辞を返します。
 boolean getValueIsAdjusting()
          データモデルの isAdjusting プロパティの値を返します。
 int getVisibleRowCount()
          可視行の適切な数を返します。
 Point indexToLocation(int index)
          指定された項目の JList 座標における原点を返します。
 boolean isSelectedIndex(int index)
          指定されたインデックスが選択されている場合は true を返します。
 boolean isSelectionEmpty()
          何も選択されていない場合は true を返します。
 int locationToIndex(Point location)
          JList の座標上の点をその位置にあるセルのインデックスに変換します。
protected  String paramString()
          この JList の文字列表現を返します。
 void removeListSelectionListener(ListSelectionListener listener)
          選択が変更されるたびに通知されるリスナーをリストから削除します。
 void removeSelectionInterval(int index0, int index1)
          指定された区間を現在の選択から削除します。
 void setCellRenderer(ListCellRenderer cellRenderer)
          リスト内の各セルを描画する委譲を設定します。
 void setFixedCellHeight(int height)
          リストにあるすべてのセルの高さを設定します。
 void setFixedCellWidth(int width)
          リストにあるすべてのセルの幅を設定します。
 void setListData(Object[] listData)
          Object の配列から ListModel を構築し、setModel を適用します。
 void setListData(Vector listData)
          Vector から ListModel を構築し、setModel を適用します。
 void setModel(ListModel model)
          リストの内容または「値」を表すモデルを設定し、PropertyChangeListener への通知後にリストの選択物をクリアします。
 void setPrototypeCellValue(Object prototypeCellValue)
          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 (L&F) オブジェクトを設定します。
 void setValueIsAdjusting(boolean b)
          データモデルの isAdjusting プロパティを true に設定し、すべての選択イベント (選択モードでリスト項目上をマウスでドラッグしている場合など) が完了した時点で単一イベントが生成されるようにします。
 void setVisibleRowCount(int visibleRowCount)
          スクロールバーを使用せずに表示できるリスト内の行の適切な数を設定します。
 void updateUI()
          現在のデフォルトの UIFactory から取得した ListUI で UI プロパティを設定します。
 
クラス javax.swing.JComponent から継承したメソッド
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
クラス java.awt.Container から継承したメソッド
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
クラス java.awt.Component から継承したメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

JList

public JList(ListModel dataModel)
指定された null 以外のモデルの要素を表示する JList を構築します。すべての JList コンストラクタは、このオブジェクトに委譲します。
パラメータ:
dataModel - このリストのデータモデル
例外:
IllegalArgumentException - dataModelnull の場合

JList

public JList(Object[] listData)
指定された配列の要素を表示する JList を構築します。このコンストラクタは、ListModel コンストラクタに委譲します。
パラメータ:
listData - データモデルにロードされる Object の配列

JList

public JList(Vector listData)
指定された Vector の要素を表示する JList を構築します。このコンストラクタは、ListModel コンストラクタに委譲します。
パラメータ:
listData - データモデルにロードされる Vector

JList

public JList()
空のモデルで JList を構築します。
メソッドの詳細

getUI

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

setUI

public void setUI(ListUI ui)
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを設定します。
パラメータ:
ui - ListUI L&F オブジェクト
関連項目:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
現在のデフォルトの UIFactory から取得した ListUI で UI プロパティを設定します。このメソッドは JList コンストラクタによって呼び出され、リストの Look & Feel を実行時に更新します。
オーバーライド:
クラス JComponent 内の updateUI
関連項目:
UIManager.getUI(javax.swing.JComponent)

getUIClassID

public String getUIClassID()
Look & Feel (L&F) クラスの名前の構築に使用された接頭辞を返します。このクラスは、このコンポーネントを描画するのに使用されます。
オーバーライド:
クラス JComponent 内の getUIClassID
戻り値:
文字列「ListUI」
関連項目:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getPrototypeCellValue

public Object getPrototypeCellValue()
「プロトタイプセル」のセル幅を返します。他のすべてのリスト項目と同じ値を持つため、プロトタイプセルはセル幅の計算に使用されます。
戻り値:
prototypeCellValue プロパティの値
関連項目:
setPrototypeCellValue(java.lang.Object)

setPrototypeCellValue

public void setPrototypeCellValue(Object prototypeCellValue)
fixedCellWidth および fixedCellHeight プロパティを計算します。インデックス 0 の cellRenderer を指定値に設定してから、レンダリングコンポーネントの優先サイズを計算します。リストが長すぎて JList が各セルの幅と高さを計算できず、他のセルと同じスペースを持つことがわかっているセルがある場合には、このプロパティが便利です。

fixedCellWidth および fixedCellHeight プロパティをここで設定しても、prototypeCellValue だけで PropertyChangeEvent がトリガーされることに注意してください。

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

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

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

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

getFixedCellWidth

public int getFixedCellWidth()
固定セル幅の値を返します。固定セル幅の値とは、リスト要素から計算された値ではなく、fixedCellWidth プロパティで指定されている値です。
戻り値:
固定セル幅
関連項目:
setFixedCellWidth(int)

setFixedCellWidth

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

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

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

パラメータ:
width - ピクセル単位の、リスト内のすべてのセルの幅
関連項目:
getPrototypeCellValue(), setFixedCellWidth(int), JComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)

getFixedCellHeight

public int getFixedCellHeight()
固定セル高の値を返します。固定セル高の値とは、リスト要素から計算された値ではなく、fixedCellHeight プロパティで指定されている値です。
戻り値:
ピクセル単位の固定セル高
関連項目:
setFixedCellHeight(int)

setFixedCellHeight

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

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

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

パラメータ:
height - リスト内のすべてのセルの高さをピクセル数で指定する int 値
関連項目:
getPrototypeCellValue(), setFixedCellWidth(int), JComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)

getCellRenderer

public ListCellRenderer getCellRenderer()
リスト項目を描画するオブジェクトを返します。
戻り値:
ListCellRenderer
関連項目:
setCellRenderer(javax.swing.ListCellRenderer)

setCellRenderer

public void setCellRenderer(ListCellRenderer cellRenderer)
リスト内の各セルを描画する委譲を設定します。prototypeCellValue が設定されていれば、fixedCellWidth および fixedCellHeight プロパティも設定されます。しかし、cellRenderer プロパティに対しては PropertyChangeEvent は 1 つだけ生成されます。

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

セルレンダリングの設定例を参照するには、上記の クラスの説明を参照してください。

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

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

getSelectionForeground

public Color getSelectionForeground()
フォアグラウンドカラーの選択を返します。
戻り値:
フォアグラウンドプロパティの Color オブジェクト
関連項目:
setSelectionForeground(java.awt.Color), setSelectionBackground(java.awt.Color)

setSelectionForeground

public void setSelectionForeground(Color selectionForeground)
選択されたセルのフォアグラウンドカラーを設定します。セルレンダリングはこの色を使って、選択されたセルのテキストとグラフィックスを描画します。

このプロパティのデフォルト値は、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)

getSelectionBackground

public Color getSelectionBackground()
選択されたセルのバックグラウンドカラーを返します。
戻り値:
選択されたリスト項目のバックグラウンドで使う Color
関連項目:
setSelectionBackground(java.awt.Color), setSelectionForeground(java.awt.Color)

setSelectionBackground

public void setSelectionBackground(Color selectionBackground)
選択されたセルのバックグラウンドカラーを設定します。セルレンダリングはこの色を使って、選択されたセルを塗りつぶすことができます。

このプロパティのデフォルト値は、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)

getVisibleRowCount

public int getVisibleRowCount()
可視行の適切な数を返します。
戻り値:
スクロールバーを使用せずに表示できる行の適切な数を示す整数値
関連項目:
setVisibleRowCount(int)

setVisibleRowCount

public void setVisibleRowCount(int visibleRowCount)
スクロールバーを使用せずに表示できるリスト内の行の適切な数を設定します。この値は、もっとも近い JViewport の上位オブジェクト (存在する場合のみ) によって決定されます。このプロパティ値は、JListpreferredScrollableViewportSize の値にのみ影響します。

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

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

パラメータ:
visibleRowCount - 可視行の適切な数を指定する整数値
関連項目:
getVisibleRowCount(), JComponent.getVisibleRect(), JViewport

getFirstVisibleIndex

public int getFirstVisibleIndex()
JList の左上隅にあるセルのインデックスを返します。どのセルも可視ではない場合やリストが空である場合には -1 を返します。セルは部分的に可視でもかまいません。
戻り値:
最初の可視セルのインデックス
関連項目:
getLastVisibleIndex(), JComponent.getVisibleRect()

getLastVisibleIndex

public int getLastVisibleIndex()
JList の右下隅にあるセルのインデックスを返します。どのセルも可視ではない場合やリストが空である場合には -1 を返します。セルは部分的に可視でもかまいません。
戻り値:
最後の可視セルのインデックス
関連項目:
getLastVisibleIndex(), JComponent.getVisibleRect()

ensureIndexIsVisible

public void ensureIndexIsVisible(int index)
ビューポートをスクロールし、指定されたセルを完全に可視にします。このメソッドを有効にするには、JViewport 内で JList を表示する必要があります。
パラメータ:
index - 可視にするセルのインデックス
関連項目:
JComponent.scrollRectToVisible(java.awt.Rectangle), JComponent.getVisibleRect()

locationToIndex

public int locationToIndex(Point location)
JList の座標上の点をその位置にあるセルのインデックスに変換します。指定された位置にセルが存在しない場合は、-1 を返します。
パラメータ:
location - JList に関連したセルの座標
戻り値:
整数 -- 指定位置のセルのインデックス、または -1

indexToLocation

public Point indexToLocation(int index)
指定された項目の JList 座標における原点を返します。index が無効な場合は、null を返します。
パラメータ:
index - JList セルのインデックス
戻り値:
index で指定された番号のセルの原点

getCellBounds

public Rectangle getCellBounds(int index0,
                               int index1)
JList 座標で指定された項目範囲の境界を返します。インデックスが無効な場合は null を返します。
パラメータ:
index0 - 範囲内の最初の JList セルのインデックス
index1 - 範囲内の最後の JList セルのインデックス
戻り値:
インデックスで指定されたセルのピクセル単位の境界

getModel

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

setModel

public void setModel(ListModel model)
リストの内容または「値」を表すモデルを設定し、PropertyChangeListener への通知後にリストの選択物をクリアします。

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

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

setListData

public void setListData(Object[] listData)
Object の配列から ListModel を構築し、setModel を適用します。
パラメータ:
listData - リストに表示する項目を保持する Object の配列
関連項目:
setModel(javax.swing.ListModel)

setListData

public void setListData(Vector listData)
Vector から ListModel を構築し、setModel を適用します。
パラメータ:
listData - リストに表示する項目を保持する Vector
関連項目:
setModel(javax.swing.ListModel)

createSelectionModel

protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel のインスタンスを返します。このメソッドは、コンストラクタが selectionModel プロパティを初期化するのに使用します。
戻り値:
この JList が使用する ListSelectionModel
関連項目:
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)
選択モデルが変更されたことを JListListSelectionListener に通知します。このメソッドは、ListSelectionEventselectionModel から、直接 JList に追加された ListSelectionListener に転送するために使用されます。
パラメータ:
firstIndex - 選択されている最初のインデックス
lastIndex - 選択されている最後のインデックス
isAdjusting - 複数の変更が行われた場合は true
関連項目:
addListSelectionListener(javax.swing.event.ListSelectionListener), removeListSelectionListener(javax.swing.event.ListSelectionListener), EventListenerList

addListSelectionListener

public void addListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリストにリスナーを追加します。JList に直接追加されるリスナーは、(ListSelectionModel の代わりに) ListSelectionEvent.getSource() (この JList) を持ちます。
パラメータ:
listener - 追加する ListSelectionListener
関連項目:
getSelectionModel()

removeListSelectionListener

public void removeListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリスナーをリストから削除します。
パラメータ:
listener - 削除する ListSelectionListener
関連項目:
addListSelectionListener(javax.swing.event.ListSelectionListener), getSelectionModel()

setSelectionModel

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

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

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

setSelectionMode

public void setSelectionMode(int selectionMode)
単一項目選択または複数項目選択が可能かどうかを判定します。次の selectionMode 値を指定できます。
パラメータ:
selectionMode - 可能な選択タイプを指定する整数
関連項目:
getSelectionMode()

getSelectionMode

public int getSelectionMode()
単一項目選択または複数項目選択のどちらが許容されているかを返します。
戻り値:
selectionMode プロパティの値
関連項目:
setSelectionMode(int)

getAnchorSelectionIndex

public int getAnchorSelectionIndex()
最後の addSelectionModel または setSelectionInterval 呼び出しにおける最初のインデックス引数を返します。selectionModel に委譲する簡易メソッドです。
戻り値:
最後の区間選択の先頭を示すインデックス
関連項目:
ListSelectionModel.getAnchorSelectionIndex(), addSelectionInterval(int, int), setSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

getLeadSelectionIndex

public int getLeadSelectionIndex()
最後の addSelectionInterval または setSelectionInterval 呼び出しにおける 2 番目のインデックス引数を返します。selectionModel に委譲する簡易メソッドです。
戻り値:
最後の区間選択の末尾を示すインデックス
関連項目:
ListSelectionModel.getLeadSelectionIndex(), addSelectionInterval(int, int), setSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

getMinSelectionIndex

public int getMinSelectionIndex()
選択されているセルの最小インデックスを返します。selectionModel に委譲する簡易メソッドです。
戻り値:
選択されているセルの最小インデックス
関連項目:
ListSelectionModel.getMinSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getMaxSelectionIndex

public int getMaxSelectionIndex()
選択されているセルの最大インデックスを返します。selectionModel に委譲する簡易メソッドです。
戻り値:
選択されているセルの最大インデックス
関連項目:
ListSelectionModel.getMaxSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)

isSelectedIndex

public boolean isSelectedIndex(int index)
指定されたインデックスが選択されている場合は true を返します。selectionModel に委譲する簡易メソッドです。
パラメータ:
index - 選択状態が照会されるインデックス
戻り値:
指定のインデックスが選択されている場合は true
関連項目:
ListSelectionModel.isSelectedIndex(int), setSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)

isSelectionEmpty

public boolean isSelectionEmpty()
何も選択されていない場合は true を返します。selectionModel に委譲する簡易メソッドです。
戻り値:
何も選択されていない場合は true
関連項目:
ListSelectionModel.isSelectionEmpty(), clearSelection(), addListSelectionListener(javax.swing.event.ListSelectionListener)

clearSelection

public void clearSelection()
選択をクリアします。このメソッドを呼び出したあとは、isSelectionEmpty は true を返します。selectionModel に委譲する簡易メソッドです。
関連項目:
ListSelectionModel.clearSelection(), isSelectionEmpty(), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectionInterval

public void setSelectionInterval(int anchor,
                                 int lead)
指定された区間を選択します。先頭および最終インデックスが含まれます。先頭インデックスが最終インデックスより小さくなくてもかまいません。selectionModel に委譲する簡易メソッドです。
パラメータ:
anchor - 選択する最初のインデックス
lead - 選択する最後のインデックス
関連項目:
ListSelectionModel.setSelectionInterval(int, int), addSelectionInterval(int, int), removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

addSelectionInterval

public void addSelectionInterval(int anchor,
                                 int lead)
指定された区間を現在の選択に加えます。先頭および最終インデックスが含まれます。先頭インデックスが最終インデックスより小さくなくてもかまいません。selectionModel に委譲する簡易メソッドです。
パラメータ:
anchor - 選択に追加する最初のインデックス
lead - 選択に追加する最後のインデックス
関連項目:
ListSelectionModel.addSelectionInterval(int, int), setSelectionInterval(int, int), removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

removeSelectionInterval

public void removeSelectionInterval(int index0,
                                    int index1)
指定された区間を現在の選択から削除します。先頭および最終インデックスが削除されます。先頭インデックスが最終インデックスより小さくなくてもかまいません。selectionModel に委譲する簡易メソッドです。
パラメータ:
anchor - 選択から削除する最初のインデックス
lead - 選択から削除する最後のインデックス
関連項目:
ListSelectionModel.removeSelectionInterval(int, int), setSelectionInterval(int, int), addSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)

setValueIsAdjusting

public void setValueIsAdjusting(boolean b)
データモデルの isAdjusting プロパティを true に設定し、すべての選択イベント (選択モードでリスト項目上をマウスでドラッグしている場合など) が完了した時点で単一イベントが生成されるようにします。
パラメータ:
b - プロパティ値の boolean 値
関連項目:
ListSelectionModel.setValueIsAdjusting(boolean)

getValueIsAdjusting

public boolean getValueIsAdjusting()
データモデルの isAdjusting プロパティの値を返します。複数の変更が行われている場合には true を返します。
戻り値:
複数の選択変更が発生している場合 (リスト項目上をマウスでドラッグしている場合など) は true
関連項目:
ListSelectionModel.getValueIsAdjusting()

getSelectedIndices

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

setSelectedIndex

public void setSelectedIndex(int index)
単一セルを選択します。
パラメータ:
index - 選択する単一セルのインデックス
関連項目:
ListSelectionModel.setSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedIndices

public void setSelectedIndices(int[] indices)
セルのセットを選択します。
パラメータ:
indices - 選択するセルのインデックスの配列
関連項目:
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 を返します。
戻り値:
getMinSelectionIndex の値
関連項目:
getMinSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)

getSelectedValue

public Object getSelectedValue()
最初に選択されたインデックスを返すか、選択が空の場合は null を返します。
戻り値:
最初に選択された値
関連項目:
getMinSelectionIndex(), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)

setSelectedValue

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

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。fixedCellWidth および fixedCellHeight プロパティが指定されている場合には、このサイズは明らかです。これらのプロパティ値は、prototypeCellValue プロパティによって暗黙に指定されることもあります。fixedCellWidth が指定されていない場合には、このサイズはもっとも幅の広いリスト要素を見つけることによって計算されます。fixedCellHeight が指定されていない場合には、次のような経験則に頼ります。
定義:
インタフェース Scrollable 内の getPreferredScrollableViewportSize
戻り値:
visibleRowCount 行の表示に必要なビューポートのサイズを含む寸法
関連項目:
getPreferredScrollableViewportSize(), setPrototypeCellValue(java.lang.Object)

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)
前または次の行 (垂直スクロール)、または文字 (水平スクロール) を表示するためにスクロールする距離を返します。水平スクロールの場合は、リストのフォントサイズを返します。フォントが null であれば、1 を返します。標準的な文字列 ("m" など) の幅ではなく、計算が容易なフォントサイズを使用しています。

垂直スクロールの場合は、下方向にスクロールする場合に (direction が 0 より大きい)、先頭行が visibleRect に対して完全に可視であれば、先頭行の高さを返します。下方向にスクロールする場合に、先頭行が部分的にのみ可視であれば、先頭行の可視分の高さを返します。同じように、上方向にスクロールする場合に、先頭行が完全に可視であれば、先頭行の上の行の高さを返します。

visibleRect の値は、this.getVisibleRect() と同じでなければなりません。

定義:
インタフェース Scrollable 内の getScrollableUnitIncrement
パラメータ:
visibleRect - 可視矩形
orientation - HORIZONTAL または VERTICAL
direction - <= 0 の場合はスクロールアップ、> 0 の場合はスクロールダウン
戻り値:
次または前の行を表示するためにスクロールする、ピクセル単位の距離
例外:
IllegalArgumentException - visibleRect が null の場合、あるいは orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のどちらかでない場合
関連項目:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)
ブロックの増分量を返します。
定義:
インタフェース Scrollable 内の getScrollableBlockIncrement
パラメータ:
visibleRect - 可視矩形
orientation - HORIZONTAL または VERTICAL
direction - <= 0 の場合はスクロールアップ、> 0 の場合はスクロールダウン
戻り値:
orientation に基づいた visibleRect.height または visibleRect.width
例外:
IllegalArgumentException - visibleRect が null の場合、あるいは orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のどちらかでない場合
関連項目:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
この JListJViewport に表示され、ビューポートが JList の適切な幅よりも広い場合は true を返します。そうでない場合は false を返します。false の場合、ビューポートの幅を追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、水平スクロールができるようになります。
定義:
インタフェース Scrollable 内の getScrollableTracksViewportWidth
戻り値:
ビューポートが JList の適切な幅よりも広い場合は true、そうでない場合は false
関連項目:
Scrollable.getScrollableTracksViewportWidth()

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
この JListJViewport に表示され、ビューポートが JList の適切な高さよりも高い場合は true を返します。そうでない場合は false を返します。false の場合、ビューポートの高さを追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、垂直スクロールができるようになります。
定義:
インタフェース Scrollable 内の getScrollableTracksViewportHeight
戻り値:
ビューポートが Jlist の適切な高さよりも高い場合は true、そうでない場合は false
関連項目:
Scrollable.getScrollableTracksViewportHeight()

paramString

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

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JList に関連した AccessibleContext を返します。JList の場合、AccessibleContext は AccessibleJList の形式を取ります。必要に応じて新規の AccessibleJList インスタンスが作成されます。
定義:
インタフェース Accessible 内の getAccessibleContext
オーバーライド:
クラス JComponent 内の getAccessibleContext
戻り値:
この JList の AccessibleContext として機能する AccessibleJList

JavaTM 2 Platform
Std. Ed. v1.3

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

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