E - このリストの要素の型public class JList<E> extends JComponent implements Scrollable, Accessible
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 によって行われます。
セルレンダリングの別のジョブは、リストのサイズ情報の特定にも役立ちます。デフォルトでは、リストの
警告: Swing はスレッドに対して安全ではありません。詳細は、「Swing's Threading Policy」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが
詳細は、「The Java Tutorial」の「How to Use Lists」を参照してください。また、「The Swing Connection」の「Advanced JList Programming」も参照してください。
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> {
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 がセルレンダリングに各リスト項目の推奨サイズを問い合わせることによって、セルのサイズを決定します。リストの項目数が多い場合、この処理は負荷が大きくなります。これらの計算を回避するには、リスト上に 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);
java.beans パッケージに追加されています。XMLEncoder を参照してください。
| 修飾子と型 | クラスと説明 |
|---|---|
protected class |
JList.AccessibleJList
このクラスは
JList クラスのアクセシビリティーサポートを実装しています。 |
static class |
JList.DropLocation
TransferHandler.DropLocation のサブクラスであり、JList のドロップ位置を表します。 |
JComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| 修飾子と型 | フィールドと説明 |
|---|---|
static int |
HORIZONTAL_WRAP
セルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。
|
static int |
VERTICAL
セルを垂直方向に 1 列に並べたレイアウト (デフォルト) を示します。
|
static int |
VERTICAL_WRAP
セルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。
|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| コンストラクタと説明 |
|---|
JList()
空の読み取り専用モデルで
JList を構築します。 |
JList(E[] listData)
指定された配列の要素を表示する
JList を構築します。 |
JList(ListModel<E> dataModel)
指定された
null 以外のモデルの要素を表示する JList を構築します。 |
JList(Vector<? extends E> listData)
指定された
Vector の要素を表示する JList を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void |
addListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリストにリスナーを追加します。選択状態の変更を待機する方法としてお勧めです。
|
void |
addSelectionInterval(int anchor, int lead)
指定された区間を現在の選択に加えます。
|
void |
clearSelection()
選択をクリアします。このメソッドを呼び出したあとは、
isSelectionEmpty は true を返します。 |
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<? super E> |
getCellRenderer()
リスト項目をペイントするオブジェクトを返します。
|
boolean |
getDragEnabled()
自動ドラッグ処理が有効であるかどうかを返します。
|
JList.DropLocation |
getDropLocation()
このコンポーネントがコンポーネントのドラッグ&ドロップ時にドロップ位置として視覚的に示す位置を返します。現在位置が表示されていない場合は
null を返します。 |
DropMode |
getDropMode()
このコンポーネントのドロップモードを返します。
|
int |
getFirstVisibleIndex()
現在表示されている最小のリストインデックスを返します。
|
int |
getFixedCellHeight()
fixedCellHeight プロパティーの値を返します。 |
int |
getFixedCellWidth()
fixedCellWidth プロパティーの値を返します。 |
int |
getLastVisibleIndex()
現在表示されている最大のリストインデックスを返します。
|
int |
getLayoutOrientation()
リストのレイアウト方向のプロパティーを返します。レイアウトがセルの単一の列の場合は
VERTICAL、コンテンツが垂直方向の次に水平方向の順に並ぶ「ニュースペーパースタイル」の場合は VERTICAL_WRAP、コンテンツが水平方向の次に垂直方向の順に並ぶ「ニュースペーパースタイル」の場合は HORIZONTAL_WRAP を返します。 |
int |
getLeadSelectionIndex()
選択範囲のリードインデックスを返します。
|
ListSelectionListener[] |
getListSelectionListeners()
addListSelectionListener を使用してこの JList に追加されたすべての ListSelectionListener の配列を返します。 |
int |
getMaxSelectionIndex()
選択されているセルの最大インデックスを返すか、選択範囲が空の場合は
-1 を返します。 |
int |
getMinSelectionIndex()
選択されているセルの最小インデックスを返すか、選択範囲が空の場合は
-1 を返します。 |
ListModel<E> |
getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。 |
int |
getNextMatch(String prefix, int startIndex, Position.Bias bias)
指定された接頭辞で始まる、
toString 値を持つ次のリスト要素を返します。 |
Dimension |
getPreferredScrollableViewportSize()
visibleRowCount 行を表示するために必要なビューポートのサイズを計算します。 |
E |
getPrototypeCellValue()
セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。
|
int |
getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
次または前のブロックを表示するためにスクロールする距離を返します。
|
boolean |
getScrollableTracksViewportHeight()
この
JList が JViewport 内に表示され、ビューポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向が VERTICAL_WRAP で visibleRowCount <= 0 である場合は true を返します。それ以外の場合は false を返します。 |
boolean |
getScrollableTracksViewportWidth()
この
JList が JViewport 内に表示され、ビューポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向が HORIZONTAL_WRAP で visibleRowCount <= 0 である場合は true を返します。それ以外の場合は false を返します。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
次または前の行 (垂直スクロール) または列 (水平スクロール) を表示するためにスクロールする距離を返します。
|
int |
getSelectedIndex()
選択されているセルの最小インデックス (リスト内の項目が 1 つだけ選択されている場合は「選択値」) を返します。
|
int[] |
getSelectedIndices()
選択されているすべてのインデックスの昇順配列を返します。
|
E |
getSelectedValue()
選択されているセルの最小インデックスの値 (リスト内の項目が 1 つだけ選択されている場合は「選択値」) を返します。
|
Object[] |
getSelectedValues()
非推奨。
JDK 1.7 以降は、
getSelectedValuesList() に置き換えられています |
List<E> |
getSelectedValuesList()
選択されているすべての項目を、リスト内のインデックスに基づいて昇順のリストにして返します。
|
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()
この
JList の String 表現を返します。 |
void |
removeListSelectionListener(ListSelectionListener listener)
リストから選択リスナーを削除します。
|
void |
removeSelectionInterval(int index0, int index1)
選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。
|
void |
setCellRenderer(ListCellRenderer<? super E> cellRenderer)
リスト内の各セルをペイントするために使用される委譲を設定します。
|
void |
setDragEnabled(boolean b)
自動ドラッグ処理をオンまたはオフにします。
|
void |
setDropMode(DropMode dropMode)
このコンポーネントのドロップモードを設定します。
|
void |
setFixedCellHeight(int height)
リストに含まれるすべてのセルの高さとして使用する固定値を設定します。
|
void |
setFixedCellWidth(int width)
リストに含まれるすべてのセルの幅として使用する固定値を設定します。
|
void |
setLayoutOrientation(int layoutOrientation)
リストのセルの配置方法を定義します。
|
void |
setListData(E[] listData)
項目の配列から読み取り専用
ListModel を構築し、このモデルを使って setModel を呼び出します。 |
void |
setListData(Vector<? extends E> listData)
Vector から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。 |
void |
setModel(ListModel<E> model)
リストの内容または「値」を表すモデルを設定し、プロパティー変更リスナーに通知して、リストの選択をクリアします。
|
void |
setPrototypeCellValue(E prototypeCellValue)
prototypeCellValue プロパティーを設定し、新しい値が non-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)
リストの
selectionModel を null ではない ListSelectionModel 実装に設定します。 |
void |
setUI(ListUI ui)
このコンポーネントをレンダリングする Look & Feel オブジェクトの
ListUI を設定します。 |
void |
setValueIsAdjusting(boolean b)
選択モデルの
valueIsAdjusting プロパティーを設定します。 |
void |
setVisibleRowCount(int visibleRowCount)
visibleRowCount プロパティー (レイアウト方向によって意味が異なる) を設定します。レイアウト方向が VERTICAL の場合、スクロールしないで表示できる適切な行数が設定されます。これ以外の方向の場合、セルの折り返しに影響があります。 |
void |
updateUI()
ListUI プロパティーに現在の Look & Feel が提供する値を設定することにより、このプロパティーをリセットします。 |
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, 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, updateadd, 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, validateTreeaction, 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, 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, transferFocusBackward, transferFocusUpCyclepublic static final int VERTICAL
setLayoutOrientation(int)、定数フィールド値public static final int VERTICAL_WRAP
setLayoutOrientation(int)、定数フィールド値public static final int HORIZONTAL_WRAP
setLayoutOrientation(int)、定数フィールド値public JList(ListModel<E> dataModel)
null 以外のモデルの要素を表示する JList を構築します。すべての JList コンストラクタは、このオブジェクトに委譲します。
このコンストラクタは、ToolTipManager にリストを登録することにより、セルレンダリングのツールヒントが提供されるようにします。
dataModel - リストのモデルIllegalArgumentException - モデルが null の場合public JList(E[] listData)
JList を構築します。このコンストラクタは、指定された配列の読み取り専用モデルを作成し、ListModel をとるコンストラクタに委譲します。
このメソッドに null 値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。作成されたモデルは、指定された配列を直接参照します。リストの作成後に配列を変更しようとすると、不確定な動作が生じます。
listData - データモデルにロードされる Object の配列 (null 以外)public JList(Vector<? extends E> listData)
Vector の要素を表示する JList を構築します。このコンストラクタは、指定された Vector の読み取り専用モデルを作成し、ListModel をとるコンストラクタに委譲します。
このメソッドに null 値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。作成されたモデルは、指定された Vector を直接参照します。リストの作成後に Vector を変更しようとすると、不確定な動作が生じます。
listData - データモデルにロードされる Vector。non-nullpublic JList()
JList を構築します。public ListUI getUI()
ListUI を返します。ListUI オブジェクトpublic void setUI(ListUI ui)
ListUI を設定します。ui - ListUI オブジェクトUIDefaults.getUI(javax.swing.JComponent)public void updateUI()
ListUI プロパティーに現在の Look & Feel が提供する値を設定することにより、このプロパティーをリセットします。現在のセルレンダリングが Look & Feel によってではなく開発者によってインストールされたものである場合、この処理を実行すると、SwingUtilities.updateComponentTreeUI が呼び出されて、セルレンダリングとその子が更新されます。public String getUIClassID()
javax.swing.plaf.ListUI クラスの名前を検索するために使用する UIDefaults キー、"ListUI" を返します。getUIClassID 、クラス: JComponentJComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)public E getPrototypeCellValue()
null が返される可能性があります。prototypeCellValue プロパティーの値setPrototypeCellValue(E)public void setPrototypeCellValue(E prototypeCellValue)
prototypeCellValue プロパティーを設定し、新しい値が non-null である場合は、セルレンダリングコンポーネントにセルレンダラからの指定の値 (およびインデックス 0) を要求し、このコンポーネントの推奨サイズを使用して、fixedCellWidth プロパティーと fixedCellHeight プロパティーを計算します。
リストが長すぎて ListUI が各セルの幅と高さを計算できず、ほかのセルと同じスペースを占有することがわかっているセル値 (プロトタイプ) がある場合には、このメソッドが便利です。
prototypeCellValue、fixedCellHeight、fixedCellWidth の 3 つのプロパティーはすべてこのメソッドで変更できますが、PropertyChangeEvent 通知が送信されるのは、prototypeCellValue プロパティーが変更された場合にかぎられます。
このプロパティーの設定例を参照するには、上記のクラスの説明を参照してください。
このプロパティーのデフォルト値は null です。
これは JavaBeans バウンドプロパティーです。
prototypeCellValue - fixedCellWidth および fixedCellHeight のベースとなる値getPrototypeCellValue(), setFixedCellWidth(int), setFixedCellHeight(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)public int getFixedCellWidth()
fixedCellWidth プロパティーの値を返します。setFixedCellWidth(int)public void setFixedCellWidth(int width)
width が -1 の場合、リストの各要素のセルレンダリングコンポーネントに getPreferredSize を適用することにより、ListUI でセルの幅が計算されます。
このプロパティーのデフォルト値は -1 です。
これは JavaBeans バウンドプロパティーです。
width - リスト内のすべてのセルの幅setPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)public int getFixedCellHeight()
fixedCellHeight プロパティーの値を返します。setFixedCellHeight(int)public void setFixedCellHeight(int height)
height が -1 の場合、リストの各要素のセルレンダリングコンポーネントに getPreferredSize を適用することにより、ListUI でセルの高さが計算されます。
このプロパティーのデフォルト値は -1 です。
これは JavaBeans バウンドプロパティーです。
height - リスト内のすべてのセルの高さsetPrototypeCellValue(E), setFixedCellWidth(int), Container.addPropertyChangeListener(java.beans.PropertyChangeListener)public ListCellRenderer<? super E> getCellRenderer()
cellRenderer プロパティーの値setCellRenderer(javax.swing.ListCellRenderer<? super E>)public void setCellRenderer(ListCellRenderer<? super E> cellRenderer)
prototypeCellValue プロパティーが non-null である場合は、セルレンダリングを設定すると、fixedCellWidth プロパティーと fixedCellHeight プロパティーが再計算されます。しかし、cellRenderer プロパティーに対しては PropertyChangeEvent は 1 つだけ生成されます。
このプロパティーのデフォルト値は ListUI 委譲 (Look & Feel の実装) によって提供されます。
これは JavaBeans バウンドプロパティーです。
cellRenderer - リストのセルをペイントする ListCellRenderergetCellRenderer()public Color getSelectionForeground()
ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。setSelectionForeground(java.awt.Color), DefaultListCellRendererpublic void setSelectionForeground(Color selectionForeground)
ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のフォアグラウンドをレンダリングします。 このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティーです。
selectionForeground - 選択されたリスト項目のフォアグラウンドで使用する ColorgetSelectionForeground(), setSelectionBackground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRendererpublic Color getSelectionBackground()
ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のバックグラウンドをレンダリングします。setSelectionBackground(java.awt.Color), DefaultListCellRendererpublic void setSelectionBackground(Color selectionBackground)
ListUI 実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer は、この色を使って、選択されている項目のバックグラウンドを塗りつぶします。 このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティーです。
selectionBackground - 選択されたセルのバックグラウンドで使用する ColorgetSelectionBackground(), setSelectionForeground(java.awt.Color), JComponent.setForeground(java.awt.Color), JComponent.setBackground(java.awt.Color), JComponent.setFont(java.awt.Font), DefaultListCellRendererpublic int getVisibleRowCount()
visibleRowCount プロパティーの値を返します。この値の解釈方法の詳細については、setVisibleRowCount(int) のドキュメントを参照してください。visibleRowCount プロパティーの値。setVisibleRowCount(int)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(), JViewportpublic int getLayoutOrientation()
VERTICAL、コンテンツが垂直方向の次に水平方向の順に並ぶ「ニュースペーパースタイル」の場合は VERTICAL_WRAP、コンテンツが水平方向の次に垂直方向の順に並ぶ「ニュースペーパースタイル」の場合は HORIZONTAL_WRAP を返します。layoutOrientation プロパティーの値setLayoutOrientation(int)public void setLayoutOrientation(int layoutOrientation)
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 - 新しいレイアウト方向。VERTICAL、HORIZONTAL_WRAP、または VERTICAL_WRAP のどれかIllegalArgumentException - layoutOrientation が許容値のどれでもない場合getLayoutOrientation(), setVisibleRowCount(int), getScrollableTracksViewportHeight(), getScrollableTracksViewportWidth()public int getFirstVisibleIndex()
componentOrientation が左から右である場合、最初の可視セルはリストの左上隅にもっとも近い位置に見つかります。{@code componentOrientation} が右から左である場合、最初の可視セルはリストの右上隅にもっとも近い位置に見つかります。どのセルも可視ではない場合やリストが空である場合には -1 を返します。返されたセルは部分的に可視でもかまいません。getLastVisibleIndex(), JComponent.getVisibleRect()public int getLastVisibleIndex()
-1 を返します。返されたセルは部分的に可視でもかまいません。getFirstVisibleIndex(), JComponent.getVisibleRect()public void ensureIndexIsVisible(int index)
scrollRectToVisible と、指定されたセルの境界が呼び出されます。このメソッドを有効にするには、JList が JViewport 内に存在する必要があります。
指定されたインデックスがリストのセルの範囲外にある場合、このメソッドは何も行いません。
index - 可視にするセルのインデックスJComponent.scrollRectToVisible(java.awt.Rectangle), JComponent.getVisibleRect()public void setDragEnabled(boolean b)
true に設定し、リストの TransferHandler の値を non-null にしてください。dragEnabled プロパティーのデフォルト値は false です。
このプロパティーを受け入れ、ユーザーのドラッグジェスチャーを認識する処理は、Look & Feel 実装 (特にリストの ListUI) によって行われます。自動ドラッグ処理が有効である場合、ほとんどの Look & Feel (BasicLookAndFeel のサブクラスの Look & Feel を含む) は、ユーザーが項目の上でマウスボタンを押し、マウスを数ピクセル移動すると、ドラッグ&ドロップ操作を開始します。したがって、このプロパティーを true に設定すると、選択の動作に微妙に影響する場合があります。
このプロパティーを無視するような Look & Feel を使用している場合も、リストの TransferHandler 上で exportAsDrag を呼び出すことにより、ドラッグ&ドロップ操作を開始できます。
b - 自動ドラッグ処理を有効にするかどうかHeadlessException - b が true で、GraphicsEnvironment.isHeadless() が true を返す場合GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandlerpublic boolean getDragEnabled()
dragEnabled プロパティーの値setDragEnabled(boolean)public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION になっています。ただし、ユーザー側の操作を改善する場合は、ほかのモードを使用することをお勧めします。たとえば、DropMode.ON は、リスト内の実際の選択内容に影響を及ぼすことなく、選択されたように項目を表示する動作と似た動作を提供します。
JList は次のドロップモードをサポートしています。
DropMode.USE_SELECTIONDropMode.ONDropMode.INSERTDropMode.ON_OR_INSERTTransferHandler を持っていなければ、ドロップモードの効果はありません。dropMode - 使用するドロップモードIllegalArgumentException - ドロップモードがサポートされていないか null の場合getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandlerpublic final DropMode getDropMode()
setDropMode(javax.swing.DropMode)public final JList.DropLocation getDropLocation()
null を返します。
このメソッドは、TransferHandler からドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandler の canImport が返され、ドロップ位置を表示する準備ができてから設定されるためです。
このプロパティーが変更されると、コンポーネントにより、プロパティー変更イベント dropLocation がトリガーされます。
デフォルトでは、このプロパティーに対する変更を待機し、ドロップ位置を視覚的に示す処理は、リストの ListUI が行います。これは、ドロップ位置を直接ペイントするか、セルレンダリングをインストールしてこの処理を行わせるか、またはその両方の処理を行う可能性があります。カスタムドロップ位置のペイントを実装するか、デフォルトのセルレンダリングを置き換えるか、またはその両方の処理を行う開発者は、このプロパティーを考慮する必要がある場合があります。
setDropMode(javax.swing.DropMode), TransferHandler.canImport(TransferHandler.TransferSupport)public int getNextMatch(String prefix, int startIndex, Position.Bias bias)
toString 値を持つ次のリスト要素を返します。prefix - 一致をテストする文字列startIndex - 検索を開始するインデックスbias - 検索方向。Position.Bias.Forward、または Position.Bias.Backward。-1IllegalArgumentException - 接頭辞が null または startIndex が範囲外にある場合public String getToolTipText(MouseEvent event)
JComponent の getToolTipText をオーバーライドして、まずイベントが発生したセルのセルレンダリングコンポーネントをチェックし、ツールヒントテキストがあれば、それを返します。この実装では、セルレンダリングコンポーネントに対して setToolTipText を使用することにより、セルレベルでツールヒントテキストを指定できます。
JList がこの方法でレンダリングのツールヒントを適切に表示するためには、JList が ToolTipManager に登録済みのコンポーネントでなければいけません。この登録は、コンストラクタで自動的に行われます。ただし、その後 setToolTipText(null) の呼び出しにより JList の登録が解除された場合、レンダリングからのヒントは表示されなくなります。
getToolTipText 、クラス: JComponentevent - ツールヒントテキストを取得する MouseEventJComponent.setToolTipText(java.lang.String), JComponent.getToolTipText()public int locationToIndex(Point location)
getCellBounds で提供されるセルの境界とを比較します。このメソッドは、モデルが空の場合、-1 を返します
これは、リストの ListUI 内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI がない場合、-1 を返します。
location - 点の座標-1public Point indexToLocation(int index)
null を返します。
これは、リストの ListUI 内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI がない場合、null を返します。
index - セルのインデックスnullpublic Rectangle getCellBounds(int index0, int index1)
小さいほうのインデックスがリストのセルの範囲外にある場合、このメソッドは null を返します。小さいほうのインデックスが有効であっても、大きいほうのインデックスがリストの範囲外にある場合、最初のインデックスの境界だけが返されます。そうでない場合、有効な範囲の境界が返されます。
これは、リストの ListUI 内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI がない場合、null を返します。
index0 - 範囲の 1 番目のインデックスindex1 - 範囲の 2 番目のインデックスnullpublic ListModel<E> getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。ListModelsetModel(javax.swing.ListModel<E>)public void setModel(ListModel<E> model)
これは JavaBeans バウンドプロパティーです。
model - 表示される項目のリストを提供する ListModelIllegalArgumentException - model が null である場合getModel(), clearSelection()public void setListData(E[] listData)
ListModel を構築し、このモデルを使って setModel を呼び出します。
このメソッドに null 値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。作成されたモデルは、指定された配列を直接参照します。このメソッドの呼び出し後に配列を変更しようとすると、不確定な動作が生じます。
listData - リストに表示する項目を保持する E の配列setModel(javax.swing.ListModel<E>)public void setListData(Vector<? extends E> listData)
Vector から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。
このメソッドに null 値を渡そうとすると未定義の動作が発生し、さらに多くの場合は例外が発生します。作成されたモデルは、指定された Vector を直接参照します。このメソッドの呼び出し後に Vector を変更しようとすると、不確定な動作が生じます。
listData - リストに表示する項目を保持する VectorsetModel(javax.swing.ListModel<E>)protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel のインスタンスを返します。DefaultListSelecitonModelsetSelectionModel(javax.swing.ListSelectionModel), DefaultListSelectionModelpublic ListSelectionModel getSelectionModel()
ListSelectionModelsetSelectionModel(javax.swing.ListSelectionModel), ListSelectionModelprotected void fireSelectionValueChanged(int firstIndex,
int lastIndex,
boolean isAdjusting)
ListSelectionListener に、選択モデルに変更が加えられたことを通知します。
JList は、選択モデル内の選択に対する変更を待機し、このメソッドを呼び出すことにより、リストに直接追加されたリスナーに通知を送ります。
このメソッドは、このリストをソースとし、指定の引数を使って、ListSelectionEvent を構築します。さらに、それを登録済みの ListSelectionListeners に送信します。
firstIndex - 範囲内の最初のインデックス、<= lastIndexlastIndex - 範囲内の最後のインデックス、>= firstIndexisAdjusting - このイベントが変更中の一連のイベントに含まれているかどうかaddListSelectionListener(javax.swing.event.ListSelectionListener), removeListSelectionListener(javax.swing.event.ListSelectionListener), ListSelectionEvent, EventListenerListpublic void addListSelectionListener(ListSelectionListener listener)
JList は、選択モデルの選択状態の変更を待機し、指定されたリスナーに個々の変更を通知します。リスナーに送信された ListSelectionEvent により、source プロパティーとしてこのリストが設定されます。listener - 追加する ListSelectionListenergetSelectionModel(), getListSelectionListeners()public void removeListSelectionListener(ListSelectionListener listener)
listener - 削除する ListSelectionListeneraddListSelectionListener(javax.swing.event.ListSelectionListener), getSelectionModel()public ListSelectionListener[] getListSelectionListeners()
addListSelectionListener を使用してこの JList に追加されたすべての ListSelectionListener の配列を返します。ListSelectionListener。追加されたリスナーがない場合は空の配列addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectionModel(ListSelectionModel selectionModel)
selectionModel を null ではない ListSelectionModel 実装に設定します。選択モデルは、単一選択、隣接した範囲の選択、および非隣接選択を作成するタスクを処理します。
これは JavaBeans バウンドプロパティーです。
selectionModel - 選択を実装する ListSelectionModelIllegalArgumentException - selectionModel が null である場合getSelectionModel()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()
setSelectionMode(int)public int getAnchorSelectionIndex()
ListSelectionModel.getAnchorSelectionIndex()public int getLeadSelectionIndex()
ListSelectionModel.getLeadSelectionIndex()public int getMinSelectionIndex()
-1 を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。-1ListSelectionModel.getMinSelectionIndex()public int getMaxSelectionIndex()
-1 を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。ListSelectionModel.getMaxSelectionIndex()public boolean isSelectedIndex(int index)
true を返し、それ以外の場合は false を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。index - 選択状態が照会されるインデックスtrue 、それ以外の場合は falseListSelectionModel.isSelectedIndex(int), setSelectedIndex(int)public boolean isSelectionEmpty()
true を返し、それ以外の場合は false を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。true 、それ以外の場合は falseListSelectionModel.isSelectionEmpty(), clearSelection()public void clearSelection()
isSelectionEmpty は true を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。public void setSelectionInterval(int anchor,
int lead)
anchor と lead の両方のインデックスが含まれます。anchor は lead 以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
0 より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。
anchor - 選択する最初のインデックスlead - 選択する最後のインデックスListSelectionModel.setSelectionInterval(int, int), DefaultListSelectionModel.setSelectionInterval(int, int), createSelectionModel(), addSelectionInterval(int, int), removeSelectionInterval(int, int)public void addSelectionInterval(int anchor,
int lead)
anchor と lead の両方のインデックスが含まれます。anchor は lead 以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
0 より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。
anchor - 選択に追加する最初のインデックスlead - 選択に追加する最後のインデックスListSelectionModel.addSelectionInterval(int, int), DefaultListSelectionModel.addSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), removeSelectionInterval(int, int)public void removeSelectionInterval(int index0,
int index1)
index0 と index1 の両方のインデックスが削除されます。index0 は index1 以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
0 より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。
index0 - 選択から削除する最初のインデックスindex1 - 選択から削除する最後のインデックスListSelectionModel.removeSelectionInterval(int, int), DefaultListSelectionModel.removeSelectionInterval(int, int), createSelectionModel(), setSelectionInterval(int, int), addSelectionInterval(int, int)public void setValueIsAdjusting(boolean b)
valueIsAdjusting プロパティーを設定します。true の場合、選択モデルに対する複数の変更は、1 つの変更の一部であると見なされるはずです。このプロパティーは内部で使用され、開発者は通常、このメソッドを呼び出す必要はありません。たとえば、ユーザーのドラッグに応じてモデルが更新される場合、プロパティーの値は、ドラッグの開始時には true、終了時には false に設定されます。このため、中間値をすべて処理するのではなく、変更がファイナライズされた場合にだけリスナーを更新できます。
一連の変更を 1 回の変更の一部と見なす必要がある場合は、これを直接使用できます。
これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。詳細は、ListSelectionModel.setValueIsAdjusting(boolean) のドキュメントを参照してください。
b - プロパティーの変更後の値ListSelectionModel.setValueIsAdjusting(boolean), ListSelectionEvent.getValueIsAdjusting(), getValueIsAdjusting()public boolean getValueIsAdjusting()
isAdjusting プロパティーの値を返します。
これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
isAdjusting プロパティーの値。setValueIsAdjusting(boolean), ListSelectionModel.getValueIsAdjusting()public int[] getSelectedIndices()
removeSelectionInterval(int, int), addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectedIndex(int index)
setSelectionInterval を使用する簡易メソッドです。0 より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。index - 選択するセルのインデックスListSelectionModel.setSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectedIndices(int[] indices)
addSelectionInterval を使ってインデックスを追加する簡易メソッドです。0 より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。indices - 選択するセルのインデックスの配列、null 以外NullPointerException - 指定された配列が null である場合ListSelectionModel.addSelectionInterval(int, int), isSelectedIndex(int), addListSelectionListener(javax.swing.event.ListSelectionListener)@Deprecated public Object[] getSelectedValues()
getSelectedValuesList() に置き換えられていますisSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)public List<E> getSelectedValuesList()
isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)public int getSelectedIndex()
-1 を返します。
このメソッドは、getMinSelectionIndex に委譲するカバーメソッドです。
getMinSelectionIndex(), addListSelectionListener(javax.swing.event.ListSelectionListener)public E getSelectedValue()
null を返します。
これは、単純に getMinSelectionIndex のモデル値を返す簡易メソッドです。
public void setSelectedValue(Object anObject, boolean shouldScroll)
anObject - 選択するオブジェクトshouldScroll - オブジェクトが存在し、選択したオブジェクトを表示するためにリストをスクロールするべきである場合は true。そうでない場合は falsepublic Dimension getPreferredScrollableViewportSize()
visibleRowCount 行を表示するために必要なビューポートのサイズを計算します。このメソッドの戻り値は、レイアウト方向によって異なります。
VERTICAL:
fixedCellWidth と fixedCellHeight の両方が設定されている場合 (明示的に設定される場合と、セルのプロトタイプ値を指定して設定される場合がある)、この値は明らかです。幅は、単純に fixedCellWidth にリストの水平のインセットを足し合わせた値になります。高さは、fixedCellHeight に visibleRowCount を掛けて、リストの垂直のインセットを足し合わせた値になります。
fixedCellWidth と fixedCellHeight のどちらかが指定されていない場合、ヒューリスティックな方法が使用されます。モデルが空であり、幅が 0 より大きいか、256 という値がハードコードされている場合、幅は fixedCellWidth になります。fixedCellHeight が 0 より大きい場合、高さは fixedCellHeight に visibleRowCount を掛けた値になります。そうでない場合は、ハードコードされた値 16 に visibleRowCount を掛けた値になります。
モデルが空でなければ、幅は推奨サイズの幅 (通常、もっとも幅の広いリスト要素の幅) になります。高さは、fixedCellHeight に visibleRowCount を掛けて、リストの垂直のインセットを足し合わせた値になります。
VERTICAL_WRAP または HORIZONTAL_WRAP:
このメソッドは、単純に getPreferredSize から値を返します。リストの ListUI は、getPreferredSize をオーバーライドして、適切な値を返す必要があります。
getPreferredScrollableViewportSize 、インタフェース: ScrollablevisibleRowCount 行の表示に必要なビューポートのサイズを含む寸法getPreferredScrollableViewportSize(), setPrototypeCellValue(E)public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
水平方向のスクロールでは、レイアウトの方向が VERTICAL である場合、リストのフォントサイズ (フォントが null の場合は 1) が返されます。
getScrollableUnitIncrement 、インタフェース: ScrollablevisibleRect - ビューポート内の可視のビュー領域orientation - SwingConstants.HORIZONTAL または SwingConstants.VERTICALdirection - 上または左にスクロールする場合は 0 以下、下または右にスクロールする場合は 0 より大きいIllegalArgumentException - visibleRect が null、または orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のいずれでもない場合。getScrollableBlockIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
垂直方向のスクロールには、次のルールが適用されます。
visibleRect.height を返す
水平方向のスクロールで、レイアウト方向が VERTICAL_WRAP または HORIZONTAL_WRAP である場合、次のルールが適用されます。
visibleRect.width を返す
水平方向のスクロールで、レイアウト方向が VERTICAL である場合、visibleRect.width を返します。
visibleRect の値は、this.getVisibleRect() と同じである必要があります。
getScrollableBlockIncrement 、インタフェース: ScrollablevisibleRect - ビューポート内の可視のビュー領域orientation - SwingConstants.HORIZONTAL または SwingConstants.VERTICALdirection - 上または左にスクロールする場合は 0 以下、下または右にスクロールする場合は 0 より大きいIllegalArgumentException - visibleRect が null、または orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のいずれでもない場合。getScrollableUnitIncrement(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int)public boolean getScrollableTracksViewportWidth()
JList が JViewport 内に表示され、ビューポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向が HORIZONTAL_WRAP で visibleRowCount <= 0 である場合は true を返します。それ以外の場合は false を返します。
false の場合、ビューポートの幅を追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、水平スクロールができるようになります。
getScrollableTracksViewportWidth 、インタフェース: ScrollableScrollable.getScrollableTracksViewportWidth()public boolean getScrollableTracksViewportHeight()
JList が JViewport 内に表示され、ビューポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向が VERTICAL_WRAP で visibleRowCount <= 0 である場合は true を返します。それ以外の場合は false を返します。
false の場合、ビューポートの高さを追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、垂直スクロールができるようになります。
getScrollableTracksViewportHeight 、インタフェース: ScrollableScrollable.getScrollableTracksViewportHeight()protected String paramString()
JList の String 表現を返します。このメソッドはデバッグ専用であり、返される String の内容および形式は実装によって異なります。返される String は空の場合がありますが、null にはなりません。paramString 、クラス: JComponentJList の String 表現。public AccessibleContext getAccessibleContext()
JList に関連付けられている AccessibleContext を取得します。JList の場合、AccessibleContext は AccessibleJList の形式を取ります。
必要に応じて、新しい AccessibleJList インスタンスが作成されます。
getAccessibleContext 、インタフェース: AccessiblegetAccessibleContext 、クラス: JComponentJList の AccessibleContext として機能する AccessibleJList バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.