クラスJList<E>
- 型パラメータ:
E- このリストの要素のタイプ
- すべての実装されたインタフェース:
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
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メソッドを使用して、ListModelをJListに直接指定できます。 コンテンツがstaticである必要はありません。項目数や項目の値は、時間の経過とともに変化してもかまいません。 ListModelが正しく実装されていれば、変更が発生するたびに、追加されたjavax.swing.event.ListDataListenerのセットに通知が送られます。 これらの変更は、修正、追加または削除されたリスト・インデックスの範囲を識別するjavax.swing.event.ListDataEventによって記述されます。 JListのListUIは、モデルの変更を待機することによって、ビジュアルな表現が常に最新の状態になるようにします。
単純な動的コンテンツの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は、選択を簡単に管理できる便利なメソッドも提供します。 たとえばsetSelectedIndex、getSelectedValueなどのカバー・メソッドでは、選択モデルとのやりとりの詳細を管理できます。 デフォルトでは、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がセル・レンダリングに各リスト項目の推奨サイズを問い合わせることによって、セルのサイズを決定します。 リストの項目数が多い場合、この処理は負荷が大きくなります。 これらの計算を回避するには、リスト上にfixedCellWidthとfixedCellHeightを設定するか、これらの値が単一のプロトタイプ値に基づいて自動計算されるように設定します。
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
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明protected classこのクラスはJListクラスのアクセシビリティ・サポートを実装しています。static final classTransferHandler.DropLocationのサブクラスであり、JListのドロップ位置を表します。クラスjavax.swing.JComponentで宣言されたネストされたクラス/インタフェース
JComponent.AccessibleJComponentクラスjava.awt.Containerで宣言されたネストされたクラス/インタフェース
Container.AccessibleAWTContainerクラスjava.awt.Componentで宣言されたネストされたクラス/インタフェース
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intセルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。static final intセルを垂直方向に1列に並べたレイアウト(デフォルト)を示します。static final intセルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。クラスjavax.swing.JComponentで宣言されたフィールド
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWクラスjava.awt.Componentで宣言されたフィールド
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTインタフェースjava.awt.image.ImageObserverで宣言されているフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明void選択が変更されるたびに通知されるリストにリスナーを追加します。選択状態の変更を待機する方法としてお勧めです。voidaddSelectionInterval(int anchor, int lead) 指定された区間を現在の選択に加えます。void選択をクリアします。このメソッドを呼び出したあとは、isSelectionEmptyはtrueを返します。protected ListSelectionModelリストの選択モデル・プロパティを初期化するため、構築中に呼び出されるDefaultListSelectionModelのインスタンスを返します。voidensureIndexIsVisible(int index) 囲み側のビュー・ポート内のリストをスクロールし、指定されたセルを完全に可視にします。protected voidfireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) 選択のリストに直接追加されたListSelectionListenerに、選択モデルに変更が加えられたことを通知します。このJListに関連付けられているAccessibleContextを取得します。intアンカー選択インデックスを返します。getCellBounds(int index0, int index1) 2つのインデックスで指定されたセルの範囲を示す、リストの座標系内の境界の矩形を返します。ListCellRenderer<? super E> リスト項目をペイントするオブジェクトを返します。boolean自動ドラッグ処理が有効であるかどうかを返します。final JList.DropLocationこのコンポーネントがコンポーネントのドラッグ・アンド・ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合はnullを返します。final DropModeこのコンポーネントのドロップ・モードを返します。int現在表示されている最小のリスト・インデックスを返します。intfixedCellHeightプロパティの値を返します。intfixedCellWidthプロパティの値を返します。int現在表示されている最大のリスト・インデックスを返します。intリストのレイアウト方向のプロパティを返します。レイアウトがセルの単一の列の場合はVERTICAL、コンテンツが垂直方向の次に水平方向の順に並ぶ「ニュースペーパー・スタイル」の場合はVERTICAL_WRAP、コンテンツが水平方向の次に垂直方向の順に並ぶ「ニュースペーパー・スタイル」の場合はHORIZONTAL_WRAPを返します。int選択範囲のリード・インデックスを返します。addListSelectionListenerを使用してこのJListに追加されたすべてのListSelectionListenerの配列を返します。int選択されているセルの最大インデックスを返すか、選択範囲が空の場合は-1を返します。int選択されているセルの最小インデックスを返すか、選択範囲が空の場合は-1を返します。getModel()JListコンポーネントによって表示される項目のリストを保持するデータ・モデルを返します。intgetNextMatch(String prefix, int startIndex, Position.Bias bias) 指定された接頭辞で始まる、toString値を持つ次のリスト要素を返します。visibleRowCount行を表示するために必要なビュー・ポートのサイズを計算します。セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。intgetScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) 次または前のブロックを表示するためにスクロールする距離を返します。booleanこのJListがJViewport内に表示され、ビュー・ポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向がVERTICAL_WRAPでvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。booleanこのJListがJViewport内に表示され、ビュー・ポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向がHORIZONTAL_WRAPでvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。intgetScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 次または前の行(垂直スクロール)または列(水平スクロール)を表示するためにスクロールする距離を返します。int選択されているセルの最小インデックスを返します。リスト内の項目が1つだけ選択されている場合は「選択値」。int[]選択されているすべてのインデックスの昇順配列を返します。選択されているセルの最小インデックスの値を返します。リスト内の項目が1つだけ選択されている場合は「選択値」Object[]非推奨。選択されているすべての項目を、リスト内のインデックスに基づいて昇順のリストにして返します。選択された項目のバックグラウンドの描画に使用する色を返します。選択された項目のフォアグラウンドの描画に使用する色を返します。intリストの現在の選択モードを返します。現在の選択モデルを返します。getToolTipText(MouseEvent event) 指定されたイベントで使用されるツールヒント・テキストを返します。getUI()このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトのListUIを返します。このコンポーネントのルック・アンド・フィールを定義するjavax.swing.plaf.ListUIクラスの名前を検索するために使用するUIDefaultsキー、"ListUI"を返します。boolean選択モデルのisAdjustingプロパティの値を返します。intvisibleRowCountプロパティの値を返します。indexToLocation(int index) リストの座標系内の指定された項目の原点を返します。booleanisSelectedIndex(int index) 指定のインデックスが選択されている場合はtrueを返し、それ以外の場合はfalseを返します。boolean何も選択されていない場合はtrueを返し、それ以外の場合はfalseを返します。intlocationToIndex(Point location) リストの座標系内の指定された位置にもっとも近いセル・インデックスを返します。protected StringこのJListのString表現を返します。voidリストから選択リスナーを削除します。voidremoveSelectionInterval(int index0, int index1) 選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。voidsetCellRenderer(ListCellRenderer<? super E> cellRenderer) リスト内の各セルをペイントするために使用される委譲を設定します。voidsetDragEnabled(boolean b) 自動ドラッグ処理をオンまたはオフにします。final voidsetDropMode(DropMode dropMode) このコンポーネントのドロップ・モードを設定します。voidsetFixedCellHeight(int height) リストに含まれるすべてのセルの高さとして使用する固定値を設定します。voidsetFixedCellWidth(int width) リストに含まれるすべてのセルの幅として使用する固定値を設定します。voidsetLayoutOrientation(int layoutOrientation) リスト・セルのレイアウト方法を定義します。voidsetListData(E[] listData) 項目の配列から読取り専用ListModelを構築し、このモデルを使ってsetModelを呼び出します。voidsetListData(Vector<? extends E> listData) Vectorから読取り専用ListModelを構築し、このモデルを使ってsetModelを呼び出します。voidリストの内容または「値」を表すモデルを設定し、プロパティ変更リスナーに通知して、リストの選択をクリアします。voidsetPrototypeCellValue(E prototypeCellValue) prototypeCellValueプロパティを設定し、新しい値がnon-nullである場合は、セル・レンダリング・コンポーネントにセル・レンダラからの指定の値(およびインデックス0)を要求し、このコンポーネントの推奨サイズを使用して、fixedCellWidthプロパティとfixedCellHeightプロパティを計算します。voidsetSelectedIndex(int index) 単一セルを選択します。voidsetSelectedIndices(int[] indices) 選択を、指定の配列によって示される一連のインデックスに変更します。voidsetSelectedValue(Object anObject, boolean shouldScroll) 指定されたオブジェクトをリストから選択します。voidsetSelectionBackground(Color selectionBackground) 選択された項目のバックグラウンドのレンダリングに使用する色(セル・レンダリングが選択したセルの塗りつぶしに使用できる色)を設定します。voidsetSelectionForeground(Color selectionForeground) 選択された項目のフォアグラウンドのレンダリングに使用する色(セル・レンダリングがテキストとグラフィックスのレンダリングに使用できる色)を設定します。voidsetSelectionInterval(int anchor, int lead) 指定された区間を選択します。voidsetSelectionMode(int selectionMode) リストの選択モードを設定します。voidsetSelectionModel(ListSelectionModel selectionModel) リストのselectionModelをnullではないListSelectionModel実装に設定します。voidこのコンポーネントをレンダリングするルック・アンド・フィールオブジェクトのListUIを設定します。voidsetValueIsAdjusting(boolean b) 選択モデルのvalueIsAdjustingプロパティを設定します。voidsetVisibleRowCount(int visibleRowCount) visibleRowCountプロパティ(レイアウト方向によって意味が異なる)を設定します。レイアウト方向がVERTICALの場合、スクロールしないで表示できる適切な行数が設定されます。これ以外の方向の場合、セルの折返しに影響があります。voidupdateUI()ListUIプロパティに現在のルック・アンド・フィールが提供する値を設定することにより、このプロパティをリセットします。クラスjavax.swing.JComponentで宣言されたメソッド
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
フィールド詳細
-
VERTICAL
public static final int VERTICALセルを垂直方向に1列に並べたレイアウト(デフォルト)を示します。- 導入されたバージョン:
- 1.4
- 関連項目:
-
VERTICAL_WRAP
public static final int VERTICAL_WRAPセルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。- 導入されたバージョン:
- 1.4
- 関連項目:
-
HORIZONTAL_WRAP
public static final int HORIZONTAL_WRAPセルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパー・スタイル」レイアウトを示します。- 導入されたバージョン:
- 1.4
- 関連項目:
-
-
コンストラクタの詳細
-
JList
指定されたnull以外のモデルの要素を表示するJListを構築します。 すべてのJListコンストラクタは、このオブジェクトに委譲します。このコンストラクタは、
ToolTipManagerにリストを登録することにより、セル・レンダリングのツールヒントが提供されるようにします。- パラメータ:
dataModel- リストのモデル- スロー:
IllegalArgumentException- モデルがnullの場合
-
JList
public JList(E[] listData) 指定された配列の要素を表示するJListを構築します。 このコンストラクタは、指定された配列の読取り専用モデルを作成し、ListModelをとるコンストラクタに委譲します。このメソッドに
null値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定された配列を直接参照します。 リストの作成後に配列を変更しようとすると、不確定な動作が生じます。- パラメータ:
listData- データ・モデルにロードされるObjectの配列(null以外)
-
JList
指定されたVectorの要素を表示するJListを構築します。 このコンストラクタは、指定されたVectorの読取り専用モデルを作成し、ListModelをとるコンストラクタに委譲します。このメソッドに
null値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定されたVectorを直接参照します。 リストの作成後にVectorを変更しようとすると、不確定な動作が生じます。- パラメータ:
listData- データ・モデルにロードされるVector。non-null
-
JList
public JList()空の読取り専用モデルでJListを構築します。
-
-
メソッドの詳細
-
getUI
public ListUI getUI()このコンポーネントをレンダリングするルック・アンド・フィールオブジェクトのListUIを返します。- オーバーライド:
- クラス
JComponentのgetUI - 戻り値:
- このコンポーネントをレンダリングする
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オブジェクト- 関連項目:
-
updateUI
public void updateUI()ListUIプロパティに現在のルック・アンド・フィールが提供する値を設定することにより、このプロパティをリセットします。 現在のセル・レンダリングがルック・アンド・フィールによってではなく開発者によってインストールされたものである場合、この処理を実行すると、SwingUtilities.updateComponentTreeUIが呼び出されて、セル・レンダリングとその子が更新されます。- オーバーライド:
updateUI、クラスJComponent- 関連項目:
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()このコンポーネントのルック・アンド・フィールを定義するjavax.swing.plaf.ListUIクラスの名前を検索するために使用するUIDefaultsキー、"ListUI"を返します。- オーバーライド:
getUIClassID、クラスJComponent- 戻り値:
- 文字列「ListUI」
- 関連項目:
-
getPrototypeCellValue
public E getPrototypeCellValue()セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。 このような値が存在しない場合は、nullが返される可能性があります。- 戻り値:
prototypeCellValueプロパティの値- 関連項目:
-
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が各セルの幅と高さを計算できず、ほかのセルと同じスペースを占有することがわかっているセル値(プロトタイプ)がある場合には、このメソッドが便利です。prototypeCellValue、fixedCellHeight、fixedCellWidthの3つのプロパティはすべてこのメソッドで変更できますが、PropertyChangeEvent通知が送信されるのは、prototypeCellValueプロパティが変更された場合にかぎられます。このプロパティの設定例を参照するには、上記のクラスの説明を参照してください。
このプロパティのデフォルト値は
nullです。これはJavaBeansバウンド・プロパティです。
- パラメータ:
prototypeCellValue-fixedCellWidthおよびfixedCellHeightのベースとなる値- 関連項目:
-
getFixedCellWidth
public int getFixedCellWidth()fixedCellWidthプロパティの値を返します。- 戻り値:
- 固定セル幅
- 関連項目:
-
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- リスト内のすべてのセルの幅- 関連項目:
-
getFixedCellHeight
public int getFixedCellHeight()fixedCellHeightプロパティの値を返します。- 戻り値:
- 固定セル高
- 関連項目:
-
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- リスト内のすべてのセルに使用される高さ- 関連項目:
-
getCellRenderer
public ListCellRenderer<? super E> getCellRenderer()リスト項目をペイントするオブジェクトを返します。- 戻り値:
cellRendererプロパティの値- 関連項目:
-
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- 関連項目:
-
getSelectionForeground
public Color getSelectionForeground()選択された項目のフォアグラウンドの描画に使用する色を返します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。- 戻り値:
- 選択された項目のフォアグラウンドを描画する色
- 関連項目:
-
setSelectionForeground
@BeanProperty(visualUpdate=true, description="The foreground color of selected cells.") public void setSelectionForeground(Color selectionForeground) 選択された項目のフォアグラウンドのレンダリングに使用する色(セル・レンダリングがテキストとグラフィックスのレンダリングに使用できる色)を設定します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。
これはJavaBeansバウンド・プロパティです。
- パラメータ:
selectionForeground- 選択されたリスト項目のフォアグラウンドで使用するColor- 関連項目:
-
getSelectionBackground
public Color getSelectionBackground()選択された項目のバックグラウンドの描画に使用する色を返します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のバックグラウンドをレンダリングします。- 戻り値:
- 選択された項目のバックグラウンドを描画する色
- 関連項目:
-
setSelectionBackground
@BeanProperty(visualUpdate=true, description="The background color of selected cells.") public void setSelectionBackground(Color selectionBackground) 選択された項目のバックグラウンドのレンダリングに使用する色(セル・レンダリングが選択したセルの塗りつぶしに使用できる色)を設定します。 大多数のListUI実装によってインストールされたレンダリングと同様に、DefaultListCellRendererは、この色を使って、選択されている項目のバックグラウンドを塗りつぶします。このプロパティのデフォルト値は、ルック・アンド・フィールの実装によって定義されます。
これはJavaBeansバウンド・プロパティです。
- パラメータ:
selectionBackground- 選択されたセルのバックグラウンドで使用するColor- 関連項目:
-
getVisibleRowCount
public int getVisibleRowCount()visibleRowCountプロパティの値を返します。 この値の解釈方法の詳細については、setVisibleRowCount(int)のドキュメントを参照してください。- 戻り値:
visibleRowCountプロパティの値。- 関連項目:
-
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- スクロールしないで表示できる適切な行数を指定する整数- 関連項目:
-
getLayoutOrientation
public int getLayoutOrientation()リストのレイアウト方向のプロパティを返します。レイアウトがセルの単一の列の場合はVERTICAL、コンテンツが垂直方向の次に水平方向の順に並ぶ「ニュースペーパー・スタイル」の場合はVERTICAL_WRAP、コンテンツが水平方向の次に垂直方向の順に並ぶ「ニュースペーパー・スタイル」の場合はHORIZONTAL_WRAPを返します。- 戻り値:
layoutOrientationプロパティの値- 導入されたバージョン:
- 1.4
- 関連項目:
-
setLayoutOrientation
@BeanProperty(visualUpdate=true, enumerationValues={"JList.VERTICAL","JList.HORIZONTAL_WRAP","JList.VERTICAL_WRAP"}, description="Defines the way list cells are laid 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- 新しいレイアウト方向。VERTICAL、HORIZONTAL_WRAP、またはVERTICAL_WRAPのどれか- スロー:
IllegalArgumentException-layoutOrientationが許容値のどれでもない場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
getFirstVisibleIndex
@BeanProperty(bound=false) public int getFirstVisibleIndex()現在表示されている最小のリスト・インデックスを返します。componentOrientationが左から右である場合、最初の可視セルはリストの左上隅にもっとも近い位置に見つかります。 右から左である場合、最初の可視セルはリストの右上隅にもっとも近い位置に見つかります。 どのセルも可視ではない場合やリストが空である場合には-1を返します。 返されたセルは部分的に可視でもかまいません。- 戻り値:
- 最初の可視セルのインデックス
- 関連項目:
-
getLastVisibleIndex
@BeanProperty(bound=false) public int getLastVisibleIndex()現在表示されている最大のリスト・インデックスを返します。 どのセルも可視ではない場合やリストが空である場合には-1を返します。 返されたセルは部分的に可視でもかまいません。- 戻り値:
- 最後の可視セルのインデックス
- 関連項目:
-
ensureIndexIsVisible
public void ensureIndexIsVisible(int index) 囲み側のビュー・ポート内のリストをスクロールし、指定されたセルを完全に可視にします。 これは、指定されたセルの境界を引数にして、scrollRectToVisibleを呼びます。 このメソッドが動作するには、JListがJViewport内に存在する必要があります。指定されたインデックスがリストのセルの範囲外にある場合、このメソッドは何も行いません。
- パラメータ:
index- 可視にするセルのインデックス- 関連項目:
-
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-bがtrueで、GraphicsEnvironment.isHeadless()がtrueを返す場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
getDragEnabled
public boolean getDragEnabled()自動ドラッグ処理が有効であるかどうかを返します。- 戻り値:
dragEnabledプロパティの値- 導入されたバージョン:
- 1.4
- 関連項目:
-
setDropMode
public final void setDropMode(DropMode dropMode) このコンポーネントのドロップ・モードを設定します。 下位互換性を確保するため、このプロパティのデフォルト値はDropMode.USE_SELECTIONになっています。 ただし、ユーザー側の操作を改善する場合は、ほかのモードを使用することをお勧めします。 たとえば、DropMode.ONは、リスト内の実際の選択内容に影響を及ぼすことなく、選択されたように項目を表示する動作と似た動作を提供します。JListは次のドロップ・モードをサポートしています。DropMode.USE_SELECTIONDropMode.ONDropMode.INSERTDropMode.ON_OR_INSERT
TransferHandlerを持っていなければ、ドロップ・モードの効果はありません。- パラメータ:
dropMode- 使用するドロップ・モード- スロー:
IllegalArgumentException- ドロップ・モードがサポートされていないかnullの場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getDropMode
public final DropMode getDropMode()このコンポーネントのドロップ・モードを返します。- 戻り値:
- このコンポーネントのドロップ・モード
- 導入されたバージョン:
- 1.6
- 関連項目:
-
getDropLocation
@BeanProperty(bound=false) public final JList.DropLocation getDropLocation()このコンポーネントがコンポーネントのドラッグ・アンド・ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合はnullを返します。このメソッドは、
TransferHandlerからドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandlerのcanImportが返され、ドロップ位置を表示する準備ができてから設定されるためです。このプロパティが変更されると、コンポーネントにより、プロパティ変更イベントdropLocationがトリガーされます。
デフォルトでは、このプロパティに対する変更を待機し、ドロップ位置を視覚的に示す処理は、リストの
ListUIが行います。これは、ドロップ位置を直接ペイントするか、セル・レンダラをインストールしてこの処理を行わせるか、またはその両方の処理を行う可能性があります。 カスタム・ドロップ位置のペイントを実装するか、デフォルトのセル・レンダラを置き換えるか、またはその両方の処理を行う開発者は、このプロパティを考慮する必要がある場合があります。- 戻り値:
- ドロップ位置
- 導入されたバージョン:
- 1.6
- 関連項目:
-
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) 指定されたイベントで使用されるツールヒント・テキストを返します。 これは、JComponentのgetToolTipTextをオーバーライドして、まずイベントが発生したセルのセル・レンダリング・コンポーネントをチェックし、ツールヒント・テキストがあれば、それを返します。 この実装では、セル・レンダリング・コンポーネントに対してsetToolTipTextを使用することにより、セル・レベルでツールヒント・テキストを指定できます。ノート:
JListがこの方法でレンダラのツールヒントを適切に表示するためには、JListがToolTipManagerに登録済のコンポーネントである必要があります。 この登録は、コンストラクタで自動的に行われます。 ただし、その後setToolTipText(null)の呼出しによりJListの登録が解除された場合、レンダリングからのヒントは表示されなくなります。- オーバーライド:
getToolTipText、クラスJComponent- パラメータ:
event- ツールヒント・テキストを取得するMouseEvent- 戻り値:
- ツール・ヒントを含む文字列
- 関連項目:
-
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
-
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-modelがnullである場合- 関連項目:
-
setListData
public void setListData(E[] listData) 項目の配列から読取り専用ListModelを構築し、このモデルを使ってsetModelを呼び出します。このメソッドに
null値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。 作成されたモデルは、指定された配列を直接参照します。 このメソッドの呼出し後に配列を変更しようとすると、不確定な動作が生じます。- パラメータ:
listData- リストに表示する項目を保持するEの配列- 関連項目:
-
setListData
-
createSelectionModel
protected ListSelectionModel createSelectionModel()リストの選択モデル・プロパティを初期化するため、構築中に呼び出されるDefaultListSelectionModelのインスタンスを返します。- 戻り値:
DefaultListSelectionModel。構成時にリストの選択モデル・プロパティを初期化するために使用されます。- 関連項目:
-
getSelectionModel
public ListSelectionModel getSelectionModel()現在の選択モデルを返します。 選択モデルは、リストの選択状態を保持します。 詳細は、クラス・レベルのドキュメントを参照してください。- 戻り値:
- リストの選択を保持する
ListSelectionModel - 関連項目:
-
fireSelectionValueChanged
protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) 選択のリストに直接追加されたListSelectionListenerに、選択モデルに変更が加えられたことを通知します。JListは、選択モデル内の選択に対する変更を待機し、このメソッドを呼び出すことにより、リストに直接追加されたリスナーに通知を送ります。このメソッドは、このリストをソースとし、指定の引数を使って、
ListSelectionEventを構築します。さらに、それを登録済みのListSelectionListenersに送信します。- パラメータ:
firstIndex- 範囲内の最初のインデックス、<= lastIndexlastIndex- 範囲内の最後のインデックス、>= firstIndexisAdjusting- このイベントが変更中の一連のイベントに含まれているかどうか- 関連項目:
-
addListSelectionListener
public void addListSelectionListener(ListSelectionListener listener) 選択が変更されるたびに通知されるリストにリスナーを追加します。選択状態の変更を待機する方法としてお勧めです。JListは、選択モデルの選択状態の変更を待機し、指定されたリスナーに個々の変更を通知します。 リスナーに送信されたListSelectionEventにより、sourceプロパティがこのリストに設定されます。- パラメータ:
listener- 追加するListSelectionListener- 関連項目:
-
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener listener) リストから選択リスナーを削除します。- パラメータ:
listener- 削除するListSelectionListener- 関連項目:
-
getListSelectionListeners
@BeanProperty(bound=false) public ListSelectionListener[] getListSelectionListeners()addListSelectionListenerを使用してこのJListに追加されたすべてのListSelectionListenerの配列を返します。- 戻り値:
- このリスト上のすべての
ListSelectionListener。追加されたリスナーがない場合は空の配列 - 導入されたバージョン:
- 1.4
- 関連項目:
-
setSelectionModel
@BeanProperty(description="The selection model, recording which cells are selected.") public void setSelectionModel(ListSelectionModel selectionModel) リストのselectionModelをnullではないListSelectionModel実装に設定します。 選択モデルは、単一選択、隣接した範囲の選択、および非隣接選択を作成するタスクを処理します。これはJavaBeansバウンド・プロパティです。
- パラメータ:
selectionModel- 選択を実装するListSelectionModel- スロー:
IllegalArgumentException-selectionModelがnullである場合- 関連項目:
-
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
public int getSelectionMode()リストの現在の選択モードを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- 現在の選択モード
- 関連項目:
-
getAnchorSelectionIndex
@BeanProperty(bound=false) public int getAnchorSelectionIndex()アンカー選択インデックスを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- アンカー選択インデックス
- 関連項目:
-
getLeadSelectionIndex
@BeanProperty(bound=false, description="The lead selection index.") public int getLeadSelectionIndex()選択範囲のリード・インデックスを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- リード選択インデックス
- 関連項目:
-
getMinSelectionIndex
@BeanProperty(bound=false) public int getMinSelectionIndex()選択されているセルの最小インデックスを返すか、選択範囲が空の場合は-1を返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- 選択されているセルの最小インデックス、または
-1 - 関連項目:
-
getMaxSelectionIndex
@BeanProperty(bound=false) public int getMaxSelectionIndex()選択されているセルの最大インデックスを返すか、選択範囲が空の場合は-1を返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- 選択されているセルの最大インデックス
- 関連項目:
-
isSelectedIndex
public boolean isSelectedIndex(int index) 指定のインデックスが選択されている場合はtrueを返し、それ以外の場合はfalseを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- パラメータ:
index- 選択状態が照会されるインデックス- 戻り値:
- 指定のインデックスが選択されている場合は
true、それ以外の場合はfalse - 関連項目:
-
isSelectionEmpty
@BeanProperty(bound=false) public boolean isSelectionEmpty()何も選択されていない場合はtrueを返し、それ以外の場合はfalseを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 戻り値:
- 何も選択されていない場合は
true、それ以外の場合はfalse - 関連項目:
-
clearSelection
public void clearSelection()選択をクリアします。このメソッドを呼び出したあとは、isSelectionEmptyはtrueを返します。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。- 関連項目:
-
setSelectionInterval
public void setSelectionInterval(int anchor, int lead) 指定された区間を選択します。anchorとleadの両方のインデックスが含まれます。anchorはlead以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。- パラメータ:
anchor- 選択する最初のインデックスlead- 選択する最後のインデックス- 関連項目:
-
addSelectionInterval
public void addSelectionInterval(int anchor, int lead) 指定された区間を現在の選択に加えます。anchorとleadの両方のインデックスが含まれます。anchorはlead以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。- パラメータ:
anchor- 選択に追加する最初のインデックスlead- 選択に追加する最後のインデックス- 関連項目:
-
removeSelectionInterval
public void removeSelectionInterval(int index0, int index1) 選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。index0とindex1の両方のインデックスが削除されます。index0はindex1以下でなくてもかまいません。 これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。- パラメータ:
index0- 選択から削除する最初のインデックスindex1- 選択から削除する最後のインデックス- 関連項目:
-
setValueIsAdjusting
public void setValueIsAdjusting(boolean b) 選択モデルのvalueIsAdjustingプロパティを設定します。trueの場合、選択モデルに対する複数の変更は、1つの変更の一部であると見なされるはずです。 このプロパティは内部で使用され、開発者は通常、このメソッドを呼び出す必要はありません。 たとえば、ユーザーのドラッグに応じてモデルが更新される場合、プロパティの値は、ドラッグの開始時にはtrue、終了時にはfalseに設定されます。 このため、中間値をすべて処理するのではなく、変更がファイナライズされた場合にだけリスナーを更新できます。一連の変更を1回の変更の一部と見なす必要がある場合は、これを直接使用できます。
これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。 詳細は、
ListSelectionModel.setValueIsAdjusting(boolean)のドキュメントを参照してください。- パラメータ:
b- プロパティの変更後の値- 関連項目:
-
getValueIsAdjusting
public boolean getValueIsAdjusting()選択モデルのisAdjustingプロパティの値を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバー・メソッドです。
- 戻り値:
- 選択モデルの
isAdjustingプロパティの値。 - 関連項目:
-
getSelectedIndices
public int[] getSelectedIndices()選択されているすべてのインデックスの昇順配列を返します。- 戻り値:
- 選択されているすべてのインデックス(昇順)、または何も選択されていない場合は空の配列
- 関連項目:
-
setSelectedIndex
@BeanProperty(bound=false, description="The index of the selected cell.") public void setSelectedIndex(int index) 単一セルを選択します。 指定されたインデックスがモデル・サイズ以上である場合は、何も行いません。 これは、選択モデル上でsetSelectionIntervalを使用する簡易メソッドです。0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。- パラメータ:
index- 選択するセルのインデックス- 関連項目:
-
setSelectedIndices
public void setSelectedIndices(int[] indices) 選択を、指定の配列によって示される一連のインデックスに変更します。 モデル・サイズ以上のインデックスは無視されます。 これは、選択をクリアし、選択モデル上でaddSelectionIntervalを使ってインデックスを追加する簡易メソッドです。0より小さい値の処理方法については、使用する選択モデル・クラスのドキュメントを参照してください。- パラメータ:
indices- 選択するセルのインデックスの配列、null以外- スロー:
NullPointerException- 指定された配列がnullである場合- 関連項目:
-
getSelectedValues
@Deprecated @BeanProperty(bound=false) public Object[] getSelectedValues()非推奨。JDK 1.7で、getSelectedValuesList()に置き換えられています選択されているすべての値を、リスト内のインデックスに基づいて昇順の配列にして返します。- 戻り値:
- 選択された値。何も選択されていない場合は空の配列
- 関連項目:
-
getSelectedValuesList
@BeanProperty(bound=false) public List<E> getSelectedValuesList()選択されているすべての項目を、リスト内のインデックスに基づいて昇順のリストにして返します。- 戻り値:
- 選択された項目。何も選択されていない場合は空のリスト
- 導入されたバージョン:
- 1.7
- 関連項目:
-
getSelectedIndex
public int getSelectedIndex()選択されているセルの最小インデックスを返します。リスト内の項目が1つだけ選択されている場合は「選択値」。 複数の項目が選択されている場合は、単純に選択されている最小インデックスになります。 何も選択されていない場合は-1を返します。このメソッドは、
getMinSelectionIndexに委譲するカバー・メソッドです。- 戻り値:
- 選択されているセルの最小インデックス
- 関連項目:
-
getSelectedValue
@BeanProperty(bound=false) public E getSelectedValue()選択されているセルの最小インデックスの値を返します。リスト内の項目が1つだけ選択されている場合は「選択値」 複数の項目が選択されている場合は、単純に選択されている最小インデックスの値になります。 何も選択されていない場合はnullを返します。これは、単純に
getMinSelectionIndexのモデル値を返す簡易メソッドです。- 戻り値:
- 最初に選択された値
- 関連項目:
-
setSelectedValue
public void setSelectedValue(Object anObject, boolean shouldScroll) 指定されたオブジェクトをリストから選択します。 渡されたオブジェクトがnullの場合は、選択がクリアされます。- パラメータ:
anObject- 選択するオブジェクトshouldScroll- オブジェクトが存在し、選択したオブジェクトを表示するためにリストをスクロールするべきである場合はtrue。そうでない場合はfalse
-
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()visibleRowCount行を表示するために必要なビュー・ポートのサイズを計算します。 このメソッドの戻り値は、レイアウト方向によって異なります。VERTICAL:
fixedCellWidthとfixedCellHeightの両方が設定されている場合(明示的に設定される場合と、セルのプロトタイプ値を指定して設定される場合がある)、この値は明らかです。 幅は、単純にfixedCellWidthにリストの水平のイン・セットを足し合わせた値になります。 高さは、fixedCellHeightにvisibleRowCountを掛けて、リストの垂直のイン・セットを足し合わせた値になります。fixedCellWidthとfixedCellHeightのどちらかが指定されていない場合、ヒューリスティックな方法が使用されます。 モデルが空であり、幅が0より大きいか、またはハードコードされた値256である場合、幅はfixedCellWidthになります。fixedCellHeightが0より大きい場合、高さはfixedCellHeightにvisibleRowCountを掛けた値になります。そうでない場合は、ハードコードされた値16にvisibleRowCountを掛けた値になります。モデルが空でなければ、幅は推奨サイズの幅(通常、もっとも幅の広いリスト要素の幅)になります。 高さは、インデックス0に
visibleRowCountを乗算したセルの高さとリストの垂直枠を掛けたものです。VERTICAL_WRAPまたはHORIZONTAL_WRAP:
このメソッドは、単純にgetPreferredSizeから値を返します。 リストのListUIは、getPreferredSizeをオーバーライドして、適切な値を返す必要があります。- 定義:
getPreferredScrollableViewportSize、インタフェースScrollable- 戻り値:
visibleRowCount行の表示に必要なビュー・ポートのサイズを含む寸法- 関連項目:
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 次または前の行(垂直スクロール)または列(水平スクロール)を表示するためにスクロールする距離を返します。水平方向のスクロールでは、レイアウトの方向が
VERTICALである場合、リストのフォント・サイズ(フォントがnullの場合は1)が返されます。- 定義:
getScrollableUnitIncrement、インタフェースScrollable- パラメータ:
visibleRect- ビュー・ポート内の可視のビュー領域orientation-SwingConstants.HORIZONTALまたはSwingConstants.VERTICALdirection- 上または左にスクロールする場合は0以下、下または右にスクロールする場合は0より大きい- 戻り値:
- 指定された方向にスクロールするための「ユニット」増分値。常に正の値
- スロー:
IllegalArgumentException-visibleRectがnull、またはorientationがSwingConstants.VERTICALまたはSwingConstants.HORIZONTALのいずれでもない場合。- 関連項目:
-
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.VERTICALdirection- 上または左にスクロールする場合は0以下、下または右にスクロールする場合は0より大きい- 戻り値:
- 指定された方向にスクロールするための「ブロック」増分値。常に正の値
- スロー:
IllegalArgumentException-visibleRectがnull、またはorientationがSwingConstants.VERTICALまたはSwingConstants.HORIZONTALのいずれでもない場合。- 関連項目:
-
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()このJListがJViewport内に表示され、ビュー・ポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向がHORIZONTAL_WRAPでvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。falseの場合、ビュー・ポートの幅を追跡しません。 これにより、JViewport自体がJScrollPaneに組み込まれている場合、水平スクロールができるようになります。- 定義:
getScrollableTracksViewportWidth、インタフェースScrollable- 戻り値:
- 囲み側のビュー・ポートがリストの幅をそれ自体の幅に強制的に一致させるかどうか
- 関連項目:
-
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()このJListがJViewport内に表示され、ビュー・ポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向がVERTICAL_WRAPでvisibleRowCount <= 0である場合はtrueを返します。それ以外の場合はfalseを返します。falseの場合、ビュー・ポートの高さを追跡しません。 これにより、JViewport自体がJScrollPaneに組み込まれている場合、垂直スクロールができるようになります。- 定義:
getScrollableTracksViewportHeight、インタフェースScrollable- 戻り値:
- 囲み側のビュー・ポートがリストの高さを自体の高さに強制的に一致させるかどうか
- 関連項目:
-
paramString
protected String paramString()このJListのString表現を返します。 このメソッドはデバッグ専用であり、返されるStringの内容および形式は実装によって異なります。 返されるStringは空の場合がありますが、nullにはなりません。- オーバーライド:
paramString、クラスJComponent- 戻り値:
- この
JListのString表現。
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()このJListに関連付けられているAccessibleContextを取得します。JListの場合、AccessibleContextはAccessibleJListの形式を取ります。必要に応じて、新しい
AccessibleJListインスタンスが作成されます。- 定義:
getAccessibleContext、インタフェースAccessible- オーバーライド:
getAccessibleContext、クラスComponent- 戻り値:
- この
JListのAccessibleContextとして機能するAccessibleJList
-
getSelectedValuesList()に置き換えられています