|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JList
public class JList
オブジェクトのリストを表示し、ユーザーが 1 つまたは複数のオブジェクトを選択できるようにするコンポーネントです。別のモデルである ListModel
が、リストの内容を保持します。
読み取り専用の ListModel
のインスタンスを自動生成する JList
コンストラクタを使用すれば、オブジェクトの配列または Vector を簡単に表示できます。
// Create a JList that displays strings from an array String[] data = {"one", "two", "three", "four"}; JList myList = new JList(data); // Create a JList that displays the superclasses of JList.class, by // creating it with a Vector populated with this data Vector superClasses = new Vector(); Class rootClass = javax.swing.JList.class; for(Class cls = rootClass; cls != null; cls = cls.getSuperclass()) { superClasses.addElement(cls); } JList myList = new JList(superClasses); // The automatically created model is stored in JList's "model" // property, which you can retrieve ListModel model = myList.getModel(); for(int i = 0; i < model.getSize(); i++) { System.out.println(model.getElementAt(i)); }
コンストラクタまたは setModel
メソッドを使って、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 bigData = new AbstractListModel() { public int getSize() { return Short.MAX_VALUE; } public Object getElementAt(int index) { return "Index " + index; } };
JList
の選択状態は、ListSelectionModel
のインスタンスである別のモデルによって管理されます。JList
は、構築時に選択モデルによって初期化されます。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 に適しています。JDK Version 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、
詳細は、「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 {
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 bigDataList = new JList(bigData);
// We don't want the JList implementation to compute the width
// or height of all of the list cells, so we give it a string
// that's as big as we'll need for any cell. It uses this to
// compute values for the fixedCellWidth and fixedCellHeight
// properties.
bigDataList.setPrototypeCellValue("Index 1234567890");
JList
はスクロールを直接実装していません。スクロールリストを作成するには、これを JScrollPane
のビューポートビューとして設定します。例を示します。
JScrollPane scrollPane = new JScrollPane(myList);
// Or in two steps:
JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport().setView(myList);
JList
は、ダブルクリックやトリプルクリック (またはそれ以上の回数のクリック) のような特別な処理は行いませんが、これらのイベントの発生時にアクションを実行したい場合は、MouseListener
を簡単に追加できます。クリックされたセルを調べるには、locationToIndex
メソッドを使用します。例を示します。
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};
list.addMouseListener(mouseListener);
java.beans
パッケージに追加されています。詳細は、XMLEncoder
を参照してください。
ListModel
,
AbstractListModel
,
DefaultListModel
,
ListSelectionModel
,
DefaultListSelectionModel
,
ListCellRenderer
,
DefaultListCellRenderer
入れ子のクラスの概要 | |
---|---|
protected class |
JList.AccessibleJList
このクラスは JList クラス用のアクセシビリティーサポートを実装しています。 |
static class |
JList.DropLocation
JList のドロップ位置を表す TransferHandler.DropLocation のサブクラスです。 |
クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース |
---|
JComponent.AccessibleJComponent |
クラス java.awt.Container から継承された入れ子のクラス/インタフェース |
---|
Container.AccessibleAWTContainer |
クラス java.awt.Component から継承された入れ子のクラス/インタフェース |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
フィールドの概要 | |
---|---|
static int |
HORIZONTAL_WRAP
セルが水平方向の次に垂直方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。 |
static int |
VERTICAL
セルを垂直方向に 1 列に並べたレイアウト (デフォルト) を示します。 |
static int |
VERTICAL_WRAP
セルが垂直方向の次に水平方向の順で並ぶ「ニュースペーパースタイル」レイアウトを示します。 |
クラス javax.swing.JComponent から継承されたフィールド |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
クラス java.awt.Component から継承されたフィールド |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
インタフェース java.awt.image.ImageObserver から継承されたフィールド |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
コンストラクタの概要 | |
---|---|
JList()
空の読み取り専用モデルで JList を構築します。 |
|
JList(ListModel dataModel)
指定された null 以外の モデルの要素を表示する JList を構築します。 |
|
JList(Object[] listData)
指定された配列の要素を表示する JList を構築します。 |
|
JList(Vector<?> listData)
指定された Vector の要素を表示する JList を構築します。 |
メソッドの概要 | |
---|---|
void |
addListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリストにリスナーを追加します。 |
void |
addSelectionInterval(int anchor,
int lead)
指定された区間を現在の選択に加えます。 |
void |
clearSelection()
選択をクリアします。 |
protected ListSelectionModel |
createSelectionModel()
リストの選択モデルプロパティーを初期化するため、構築中に呼び出される DefaultListSelectionModel のインスタンスを返します。 |
void |
ensureIndexIsVisible(int index)
囲み側のビューポート内のリストをスクロールし、指定されたセルを完全に可視にします。 |
protected void |
fireSelectionValueChanged(int firstIndex,
int lastIndex,
boolean isAdjusting)
選択のリストに直接追加された ListSelectionListener に、選択モデルに変更が加えられたことを通知します。 |
AccessibleContext |
getAccessibleContext()
この JList に関連した AccessibleContext を取得します。 |
int |
getAnchorSelectionIndex()
アンカー選択インデックスを返します。 |
Rectangle |
getCellBounds(int index0,
int index1)
2 つのインデックスで指定されたセルの範囲を示す、リストの座標系内の境界の矩形を返します。 |
ListCellRenderer |
getCellRenderer()
リスト項目をペイントするオブジェクトを返します。 |
boolean |
getDragEnabled()
自動ドラッグ処理が有効であるかどうかを返します。 |
JList.DropLocation |
getDropLocation()
このコンポーネントがコンポーネントのドラッグ&ドロップ時にドロップ位置として視覚的に示す位置を返します。 |
DropMode |
getDropMode()
このコンポーネントのドロップモードを返します。 |
int |
getFirstVisibleIndex()
現在表示されている最小のリストインデックスを返します。 |
int |
getFixedCellHeight()
fixedCellHeight プロパティーの値を返します。 |
int |
getFixedCellWidth()
fixedCellWidth プロパティーの値を返します。 |
int |
getLastVisibleIndex()
現在表示されている最大のリストインデックスを返します。 |
int |
getLayoutOrientation()
リストのレイアウト方向のプロパティーを返します。 |
int |
getLeadSelectionIndex()
選択範囲のリードインデックスを返します。 |
ListSelectionListener[] |
getListSelectionListeners()
addListSelectionListener により、この JList に追加されたすべての ListSelectionListener の配列を返します。 |
int |
getMaxSelectionIndex()
選択されているセルの最大インデックスを返すか、選択範囲が空の場合は -1 を返します。 |
int |
getMinSelectionIndex()
選択されているセルの最小インデックスを返すか、選択範囲が空の場合は -1 を返します。 |
ListModel |
getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。 |
int |
getNextMatch(String prefix,
int startIndex,
Position.Bias bias)
指定された接頭辞で始まる、 toString 値を持つ次のリスト要素を返します。 |
Dimension |
getPreferredScrollableViewportSize()
visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。 |
Object |
getPrototypeCellValue()
セルの固定幅と固定の高さを計算するために使用する値、「プロトタイプ」セル値を返します。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
次または前のブロックを表示するためにスクロールする距離を返します。 |
boolean |
getScrollableTracksViewportHeight()
この JList が JViewport 内に表示され、ビューポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向が VERTICAL_WRAP で visibleRowCount <= 0 である場合、true を返します。 |
boolean |
getScrollableTracksViewportWidth()
この JList が JViewport 内に表示され、ビューポートの幅がリストの適切な幅よりも広い場合、またはレイアウト方向が HORIZONTAL_WRAP で visibleRowCount <= 0 である場合、true を返します。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
次または前の行 (垂直スクロール) または列 (水平スクロール) を表示するためにスクロールする距離を返します。 |
int |
getSelectedIndex()
選択されているセルの最小インデックス (リスト内の項目が 1 つだけ選択されている場合は「選択」) を返します。 |
int[] |
getSelectedIndices()
選択されているすべてのインデックスの昇順配列を返します。 |
Object |
getSelectedValue()
選択されているセルの最小インデックスの値 (リスト内の項目が 1 つだけ選択されている場合は「選択値」) を返します。 |
Object[] |
getSelectedValues()
選択されているすべての値を、リスト内のインデックスに基づいて昇順の配列にして返します。 |
Color |
getSelectionBackground()
選択された項目のバックグラウンドの描画に使用する色を返します。 |
Color |
getSelectionForeground()
選択された項目のフォアグラウンドの描画に使用する色を返します。 |
int |
getSelectionMode()
リストの現在の選択モードを返します。 |
ListSelectionModel |
getSelectionModel()
現在の選択モデルを返します。 |
String |
getToolTipText(MouseEvent event)
指定されたイベントで使用されるツールヒントテキストを返します。 |
ListUI |
getUI()
このコンポーネントを描画する Look & Feel オブジェクト ListUI を返します。 |
String |
getUIClassID()
このコンポーネントの Look & Feel を定義する javax.swing.plaf.ListUI クラスの名前を検索するために使用する UIDefaults キー、「ListUI」 を返します。 |
boolean |
getValueIsAdjusting()
選択モデルの isAdjusting プロパティーの値を返します。 |
int |
getVisibleRowCount()
visibleRowCount プロパティーの値を返します。 |
Point |
indexToLocation(int index)
リストの座標系内の指定された項目の原点を返します。 |
boolean |
isSelectedIndex(int index)
指定のインデックスが選択されている場合は true 、それ以外の場合は false を返します。 |
boolean |
isSelectionEmpty()
何も選択されていない場合は true 、それ以外の場合は false を返します。 |
int |
locationToIndex(Point location)
リストの座標系内の指定された位置にもっとも近いセルインデックスを返します。 |
protected String |
paramString()
この JList の String 表現を返します。 |
void |
removeListSelectionListener(ListSelectionListener listener)
リストから選択リスナーを削除します。 |
void |
removeSelectionInterval(int index0,
int index1)
選択範囲を、指定された区間と現在の選択範囲との差集合に設定します。 |
void |
setCellRenderer(ListCellRenderer cellRenderer)
リスト内の各セルをペイントするために使用される委譲を設定します。 |
void |
setDragEnabled(boolean b)
自動ドラッグ処理をオンまたはオフにします。 |
void |
setDropMode(DropMode dropMode)
このコンポーネントのドロップモードを設定します。 |
void |
setFixedCellHeight(int height)
リストに含まれるすべてのセルの高さとして使用する固定値を設定します。 |
void |
setFixedCellWidth(int width)
リストに含まれるすべてのセルの幅として使用する固定値を設定します。 |
void |
setLayoutOrientation(int layoutOrientation)
リストのセルの配置方法を定義する5 つのセルから成る JList があるとします。 |
void |
setListData(Object[] listData)
オブジェクトの配列から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。 |
void |
setListData(Vector<?> listData)
Vector から読み取り専用 ListModel を構築し、このモデルを使って setModel を呼び出します。 |
void |
setModel(ListModel model)
リストの内容または「値」を表すモデルを設定し、リスナーにプロパティーの変更を通知して、リストの選択をクリアします。 |
void |
setPrototypeCellValue(Object prototypeCellValue)
prototypeCellValue プロパティーを設定し、新しい値が null 以外 である場合は、セルレンダリングコンポーネントにセルレンダリングからの指定の値 (およびインデックス 0) を要求し、このコンポーネントの推奨サイズを使用して、fixedCellWidth プロパティーと fixedCellHeight プロパティーを計算します。 |
void |
setSelectedIndex(int index)
単一セルを選択します。 |
void |
setSelectedIndices(int[] indices)
選択を、指定の配列によって示される一連のインデックスに変更します。 |
void |
setSelectedValue(Object anObject,
boolean shouldScroll)
指定されたオブジェクトをリストから選択します。 |
void |
setSelectionBackground(Color selectionBackground)
選択された項目のバックグラウンドの描画に使用する色 (セルレンダリングが選択したセルの塗りつぶしに使用できる色) を設定します。 |
void |
setSelectionForeground(Color selectionForeground)
選択された項目のフォアグラウンドの描画に使用する色 (セルレンダリングがテキストとグラフィックスの描画に使用できる色) を設定します。 |
void |
setSelectionInterval(int anchor,
int lead)
指定された区間を選択します。 |
void |
setSelectionMode(int selectionMode)
リストの選択モードを設定します。 |
void |
setSelectionModel(ListSelectionModel selectionModel)
リストの selectionModel を null ではない ListSelectionModel 実装に設定します。 |
void |
setUI(ListUI ui)
このコンポーネントを描画する Look & Feel オブジェクト ListUI を設定します。 |
void |
setValueIsAdjusting(boolean b)
選択モデルの valueIsAdjusting プロパティーを設定します。 |
void |
setVisibleRowCount(int visibleRowCount)
visibleRowCount プロパティー (レイアウト方向によって意味が異なる) を設定します。 |
void |
updateUI()
ListUI プロパティーに現在の Look & Feel が提供する値を設定することにより、このプロパティーをリセットします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
public 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 dataModel)
null 以外の
モデルの要素を表示する JList
を構築します。すべての JList
コンストラクタは、このオブジェクトに委譲します。
このコンストラクタは、ToolTipManager
にリストを登録することにより、セルレンダリングのツールヒントが提供されるようにします。
dataModel
- リストのモデル
IllegalArgumentException
- モデルが null
の場合public JList(Object[] listData)
JList
を構築します。このコンストラクタは、指定された配列の読み取り専用モデルを作成し、ListModel
をとるコンストラクタに委譲します。
このメソッドに null
値を渡そうとすると、不確定な動作が生じ、さらに多くの場合は例外が発生します。作成されたモデルは、指定された配列を直接参照します。リストの作成後に配列を変更しようとすると、不確定な動作が生じます。
listData
- データモデルにロードされる Object の配列。null 以外
public JList(Vector<?> listData)
Vector
の要素を表示する JList
を構築します。このコンストラクタは、指定された Vector
の読み取り専用モデルを作成し、ListModel
をとるコンストラクタに委譲します。
このメソッドに null
値を渡そうとすると、不確定な動作が生じ、さらに多くの場合は例外が発生します。作成されたモデルは、指定された Vector
を直接参照します。リストの作成後に Vector
を変更しようとすると、不確定な動作が生じます。
listData
- データモデルにロードされる Vector
。null 以外
public 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
が呼び出されて、セルレンダリングとその子が更新されます。
JComponent
内の updateUI
UIManager.getUI(javax.swing.JComponent)
,
SwingUtilities.updateComponentTreeUI(java.awt.Component)
public String getUIClassID()
javax.swing.plaf.ListUI
クラスの名前を検索するために使用する UIDefaults
キー、「ListUI」
を返します。
JComponent
内の getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public Object getPrototypeCellValue()
null
が返される可能性があります。
prototypeCellValue
プロパティーの値setPrototypeCellValue(java.lang.Object)
public void setPrototypeCellValue(Object prototypeCellValue)
prototypeCellValue
プロパティーを設定し、新しい値が 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(java.lang.Object)
,
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(java.lang.Object)
,
setFixedCellWidth(int)
,
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
public ListCellRenderer getCellRenderer()
cellRenderer
プロパティーの値setCellRenderer(javax.swing.ListCellRenderer)
public void setCellRenderer(ListCellRenderer cellRenderer)
prototypeCellValue
プロパティーが null 以外
である場合は、セルレンダリングを設定すると、fixedCellWidth
プロパティーと fixedCellHeight
プロパティーが再計算されます。しかし、cellRenderer
プロパティーに対しては PropertyChangeEvent
は 1 つだけ生成されます。
このプロパティーのデフォルト値は ListUI
委譲 (Look & Feel の実装) によって提供されます。
これは JavaBeans バウンドプロパティーです。
cellRenderer
- リストのセルをペイントする ListCellRenderer
getCellRenderer()
public Color getSelectionForeground()
ListUI
実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer
は、この色を使って、選択されている項目のフォアグラウンドを描画します。
setSelectionForeground(java.awt.Color)
,
DefaultListCellRenderer
public void setSelectionForeground(Color selectionForeground)
ListUI
実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer
は、この色を使って、選択されている項目のフォアグラウンドを描画します。
このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティーです。
selectionForeground
- 選択されたリスト項目のフォアグラウンドで使う Color
getSelectionForeground()
,
setSelectionBackground(java.awt.Color)
,
JComponent.setForeground(java.awt.Color)
,
JComponent.setBackground(java.awt.Color)
,
JComponent.setFont(java.awt.Font)
,
DefaultListCellRenderer
public Color getSelectionBackground()
ListUI
実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer
は、この色を使って、選択されている項目のバックグラウンドを描画します。
setSelectionBackground(java.awt.Color)
,
DefaultListCellRenderer
public void setSelectionBackground(Color selectionBackground)
ListUI
実装によってインストールされたレンダリングと同様に、DefaultListCellRenderer
は、この色を使って、選択されている項目のバックグラウンドを塗りつぶします。
このプロパティーのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティーです。
selectionBackground
- 選択されたセルのバックグラウンドで使う Color
getSelectionBackground()
,
setSelectionForeground(java.awt.Color)
,
JComponent.setForeground(java.awt.Color)
,
JComponent.setBackground(java.awt.Color)
,
JComponent.setFont(java.awt.Font)
,
DefaultListCellRenderer
public 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()
,
JViewport
public 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
が左から右である場合、最初の可視セルはリストの左上隅にもっとも近い位置に見つかります。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
の値を 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)
,
TransferHandler
public boolean getDragEnabled()
dragEnabled
プロパティーの値setDragEnabled(boolean)
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION
になっています。ただし、ユーザー側の操作を改善する場合は、ほかのモードを使用することをお勧めします。たとえば、DropMode.ON
は、リスト内の実際の選択内容に影響を及ぼすことなく、選択されたように項目を表示する動作と似た動作を提供します。
JList
は次のドロップモードをサポートしています。
DropMode.USE_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.ON_OR_INSERT
TransferHandler
を持っていなければ、ドロップモードの効果はありません。
dropMode
- 使用するドロップモード
IllegalArgumentException
- ドロップモードがサポートされていないか null
の場合getDropMode()
,
getDropLocation()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public final DropMode getDropMode()
setDropMode(javax.swing.DropMode)
public final JList.DropLocation getDropLocation()
null
を返します。
このメソッドは、TransferHandler
からドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandler
の canImport
が返され、ドロップ位置を表示する準備ができてから設定されるからです。
このプロパティーが変更されると、コンポーネントにより、プロパティー変更イベント dropLocation がトリガーされます。
デフォルトでは、このプロパティーに対する変更を待機し、ドロップ位置を視覚的に示す処理は、リストの ListUI
が行います。この 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
-1
IllegalArgumentException
- 接頭辞が null
または startIndex が範囲外にある場合public String getToolTipText(MouseEvent event)
JComponent
の getToolTipText
をオーバーライドして、まずイベントが発生したセルのセルレンダリングコンポーネントをチェックし、ツールヒントテキストがあれば、それを返します。この実装では、セルレンダリングコンポーネントに対して setToolTipText
を使用することにより、セルレベルでツールヒントテキストを指定できます。
JList
がこの方法でレンダリングのツールヒントを適切に表示するためには、JList
が ToolTipManager
に登録済みのコンポーネントでなければいけません。この登録は、コンストラクタで自動的に行われます。ただし、その後 setToolTipText(null)
の呼び出しにより JList
の登録が解除された場合、レンダリングからのヒントは表示されなくなります。
JComponent
内の getToolTipText
event
- ツールヒントテキストを取得する MouseEvent
JComponent.setToolTipText(java.lang.String)
,
JComponent.getToolTipText()
public int locationToIndex(Point location)
getCellBounds
の規定どおり、点とセルの境界を比較します。このメソッドは、モデルが空の場合、-1
を返します。
これは、リストの ListUI
内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI
がない場合、-1
を返します。
location
- 点の座標
-1
public Point indexToLocation(int index)
null
を返します。
これは、リストの ListUI
内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI
がない場合、null
を返します。
index
- セルのインデックス
null
public Rectangle getCellBounds(int index0, int index1)
小さいほうのインデックスがリストのセルの範囲外にある場合、このメソッドは null
を返します。小さいほうのインデックスが有効であっても、大きいほうのインデックスがリストの範囲外にある場合、最初のインデックスの境界だけが返されます。そうでない場合、有効な範囲の境界が返されます。
これは、リストの ListUI
内の同じ名前のメソッドに委譲するカバーメソッドです。リストに ListUI
がない場合、null
を返します。
index0
- 範囲の先頭のインデックスindex1
- 範囲の 2 番目のインデックス
null
public ListModel getModel()
JList
コンポーネントによって表示される項目のリストを保持するデータモデルを返します。
ListModel
setModel(javax.swing.ListModel)
public void setModel(ListModel model)
これは JavaBeans バウンドプロパティーです。
model
- 表示される項目のリストを提供する ListModel
IllegalArgumentException
- model
が null の場合
getModel()
,
clearSelection()
public void setListData(Object[] listData)
ListModel
を構築し、このモデルを使って setModel
を呼び出します。
このメソッドに null
値を渡そうとすると、不確定な動作が生じ、さらに多くの場合は例外が発生します。作成されたモデルは、指定された配列を直接参照します。このメソッドの呼び出し後に配列を変更しようとすると、不確定な動作が生じます。
listData
- リストに表示する項目を保持する Object
の配列setModel(javax.swing.ListModel)
public void setListData(Vector<?> listData)
Vector
から読み取り専用 ListModel
を構築し、このモデルを使って setModel
を呼び出します。
このメソッドに null
値を渡そうとすると、不確定な動作が生じ、さらに多くの場合は例外が発生します。作成されたモデルは、指定された Vector
を直接参照します。このメソッドの呼び出し後に Vector
を変更しようとすると、不確定な動作が生じます。
listData
- リストに表示する項目を保持する Vector
setModel(javax.swing.ListModel)
protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel
のインスタンスを返します。
DefaultListSelectionModel
setSelectionModel(javax.swing.ListSelectionModel)
,
DefaultListSelectionModel
public ListSelectionModel getSelectionModel()
ListSelectionModel
setSelectionModel(javax.swing.ListSelectionModel)
,
ListSelectionModel
protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
ListSelectionListener
に、選択モデルに変更が加えられたことを通知します。JList
は、選択モデル内の選択に対する変更を待機し、このメソッドを呼び出すことにより、リストに直接追加されたリスナーに通知を送ります。
このメソッドは、このリストをソースとし、指定の引数を使って、ListSelectionEvent
を構築します。さらに、この ListSelectionEvent
を登録済みの ListSelectionListener
に送信します。
firstIndex
- 範囲内の最初のインデックス、<= lastIndex
lastIndex
- 範囲内の最後のインデックス、>= firstIndex
isAdjusting
- このイベントが変更中の一連のイベントに含まれているかどうかaddListSelectionListener(javax.swing.event.ListSelectionListener)
,
removeListSelectionListener(javax.swing.event.ListSelectionListener)
,
ListSelectionEvent
,
EventListenerList
public void addListSelectionListener(ListSelectionListener listener)
JList
は、選択モデルの選択状態の変更を待機し、指定されたリスナーに個々の変更を通知します。リスナーに送信された ListSelectionEvent
により、ソース
プロパティーとしてこのリストが設定されます。
listener
- 追加する ListSelectionListener
getSelectionModel()
,
getListSelectionListeners()
public void removeListSelectionListener(ListSelectionListener listener)
listener
- 削除する ListSelectionListener
addListSelectionListener(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
- 選択を実装する ListSelectionModel
IllegalArgumentException
- 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
を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
-1
ListSelectionModel.getMinSelectionIndex()
public int getMaxSelectionIndex()
-1
を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
ListSelectionModel.getMaxSelectionIndex()
public boolean isSelectedIndex(int index)
true
、それ以外の場合は false
を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
index
- 選択状態が照会されるインデックス
true
、それ以外の場合は false
ListSelectionModel.isSelectedIndex(int)
,
setSelectedIndex(int)
public boolean isSelectionEmpty()
true
、それ以外の場合は false
を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
true
、それ以外の場合は false
ListSelectionModel.isSelectionEmpty()
,
clearSelection()
public void clearSelection()
isSelectionEmpty
は true
を返します。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
ListSelectionModel.clearSelection()
,
isSelectionEmpty()
public void setSelectionInterval(int anchor, int lead)
アンカー
インデックスと リード
インデックスが含まれます。アンカー
の値は、リード
以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
0
より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。
anchor
- 選択する最初のインデックスlead
- 選択する最後のインデックスListSelectionModel.setSelectionInterval(int, int)
,
DefaultListSelectionModel.setSelectionInterval(int, int)
,
createSelectionModel()
,
addSelectionInterval(int, int)
,
removeSelectionInterval(int, int)
public void addSelectionInterval(int anchor, int lead)
アンカー
インデックスと リード
インデックスが含まれます。アンカー
の値は、リード
以下でなくてもかまいません。これは、リストの選択モデル上の同じ名前のメソッドに委譲するカバーメソッドです。
0
より小さい値の処理方法については、使用する選択モデルクラスのドキュメントを参照してください。
anchor
- 選択に追加する最初のインデックスlead
- 選択に追加する最後のインデックスListSelectionModel.addSelectionInterval(int, int)
,
DefaultListSelectionModel.addSelectionInterval(int, int)
,
createSelectionModel()
,
setSelectionInterval(int, int)
,
removeSelectionInterval(int, int)
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)
public Object[] getSelectedValues()
isSelectedIndex(int)
,
getModel()
,
addListSelectionListener(javax.swing.event.ListSelectionListener)
public int getSelectedIndex()
-1
を返します。
このメソッドは、getMinSelectionIndex
に委譲するカバーメソッドです。
getMinSelectionIndex()
,
addListSelectionListener(javax.swing.event.ListSelectionListener)
public Object getSelectedValue()
null
を返します。
これは、単純に getMinSelectionIndex
のモデル値を返す簡易メソッドです。
getMinSelectionIndex()
,
getModel()
,
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void setSelectedValue(Object anObject, boolean shouldScroll)
anObject
- 選択するオブジェクトshouldScroll
- オブジェクトが存在し、選択したオブジェクトを表示するためにリストをスクロールするべきである場合は true
。そうでない場合は false
public 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
をオーバーライドして、適切な値を返す必要があります。
Scrollable
内の getPreferredScrollableViewportSize
visibleRowCount
行の表示に必要なビューポートのサイズを含む寸法getPreferredScrollableViewportSize()
,
setPrototypeCellValue(java.lang.Object)
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
水平方向のスクロールでは、レイアウトの方向が VERTICAL
である場合、リストのフォントサイズ (フォントが null
の場合は 1
) が返されます。
Scrollable
内の getScrollableUnitIncrement
visibleRect
- ビューポート内の可視のビュー領域orientation
- SwingConstants.HORIZONTAL
または SwingConstants.VERTICAL
direction
- 上または左にスクロールする場合は 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()
と同じである必要があります。
Scrollable
内の getScrollableBlockIncrement
visibleRect
- ビューポート内の可視のビュー領域orientation
- SwingConstants.HORIZONTAL
または SwingConstants.VERTICAL
direction
- 上または左にスクロールする場合は 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
に組み込まれている場合、水平スクロールができるようになります。
Scrollable
内の getScrollableTracksViewportWidth
Scrollable.getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
JList
が JViewport
内に表示され、ビューポートの幅がリストの適切な高さよりも高い場合、またはレイアウト方向が VERTICAL_WRAP
で visibleRowCount <= 0
である場合、true
を返します。そうでない場合は false
を返します。
false
の場合、ビューポートの高さを追跡しません。これにより、JViewport
自体が JScrollPane
に組み込まれている場合、垂直スクロールができるようになります。
Scrollable
内の getScrollableTracksViewportHeight
Scrollable.getScrollableTracksViewportHeight()
protected String paramString()
JList
の String
表現を返します。このメソッドはデバッグ専用であり、返される String
の内容および形式は実装によって異なります。返される String
は空の場合がありますが、{null
にはなりません。
JComponent
内の paramString
JList
の String
表現public AccessibleContext getAccessibleContext()
JList
に関連した AccessibleContext
を取得します。JList
の場合、AccessibleContext
は AccessibleJList
の形式を取ります。
必要に応じて新規の AccessibleJList
インスタンスが作成されます。
Accessible
内の getAccessibleContext
JComponent
内の getAccessibleContext
JList
の AccessibleContext
として機能する AccessibleJList
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。