|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JList
ユーザがリストから 1 つまたは複数のオブジェクトを選択するためのコンポーネントです。別のモデルである ListModel は、リストの内容を表します。ListModel のインスタンスを生成する JList コンストラクタを使用すれば、オブジェクトの配列またはベクタを簡単に表示できます。
// Create a JList that displays the strings in data[]
String[] data = {"one", "two", "three", "four"};
JList dataList = new JList(data);
// The value of the JList model property is an object that provides
// a read-only view of the data. It was constructed automatically.
for(int i = 0; i < dataList.getModel().getSize(); i++) {
System.out.println(dataList.getModel().getElementAt(i));
}
// Create a JList that displays the superclass of JList.class.
// We store the superclasses in a java.util.Vector.
Vector superClasses = new Vector();
Class rootClass = javax.swing.JList.class;
for(Class cls = rootClass; cls != null; cls = cls.getSuperclass()) {
superClasses.addElement(cls);
}
JList classList = new JList(superClasses);
JList はスクロールを直接サポートしていません。スクロールリストを作成するには、JList を JScrollPane のビューポートビューとして設定します。次に例を示します。
JScrollPane scrollPane = new JScrollPane(dataList); // Or in two steps: JScrollPane scrollPane = new JScrollPane(); scrollPane.getViewport().setView(dataList);
デフォルトでは、定数 MULTIPLE_INTERVAL_SELECTION を使って、JList の選択モデルにより項目の組み合わせを一度に選択することができます。選択状態は実際には個別の委譲オブジェクト、ListSelectionModel のインスタンスで管理されています。ただし、JList では選択管理に便利なプロパティが提供されます。
String[] data = {"one", "two", "three", "four"};
JList dataList = new JList(data);
dataList.setSelectedIndex(1); // select "two"
dataList.getSelectedValue(); // returns "two"
JList の内容は動的です。つまり、JList の作成後にリスト要素の値やリストのサイズを変更できます。JList は、swing.event.ListDataListener 実装によってモデルの変更を監視します。ListModel が正しく実装されていれば、変更が発生するたびにリスナーに通知します。変更は、修正、追加、または削除されたリストインデックスの範囲を識別する swing.event.ListDataEvent によって記述されます。単純な動的内容の JList アプリケーションは、DefaultListModel クラスを使用してリスト要素を格納できます。このクラスは、ListModel インタフェースを実装し、java.util.Vector API も提供します。カスタム ListModel 実装を提供する必要があるアプリケーションは、基本的な ListDataListener サポートを提供する AbstractListModel をサブクラス化することができます。次に例を示します。
// This list model has about 2^16 elements. Enjoy scrolling.
ListModel bigData = new AbstractListModel() {
public int getSize() { return Short.MAX_VALUE; }
public Object getElementAt(int index) { return "Index " + index; }
};
JList bigDataList = new JList(bigData);
// We don't want the JList implementation to compute the width
// or height of all of the list cells, so we give it a string
// that's as big as we'll need for any cell. It uses this to
// compute values for the fixedCellWidth and fixedCellHeight
// properties.
bigDataList.setPrototypeCellValue("Index 1234567890");
JList は、cellRenderer を呼び出す委譲によって提供される java.awt.Component を使用して、リスト内で可視セルを描画します。可視の各行は、セルレンダリングコンポーネントを「ゴムスタンプ」のように使用して描画されます。JList は、セルを描画する必要があるたびに、セルレンダリングにコンポーネントを要求し、setBounds() を使用して適切な場所に配置してから、レンダリングの描画メソッドを呼び出して描画します。デフォルトのセルレンダリングは、JLabel コンポーネントを使用して、各コンポーネントの文字列値を描画します。次のようなコードにより、自分のセルレンダリングを使用することもできます。
// Display an icon and a string for each object in the list.
class MyCellRenderer extends JLabel implements ListCellRenderer {
final static ImageIcon longIcon = new ImageIcon("long.gif");
final static ImageIcon shortIcon = new ImageIcon("short.gif");
// This is the only method defined by ListCellRenderer.
// We just reconfigure the JLabel each time we're called.
public Component getListCellRendererComponent(
JList list,
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // the list and the cell have the focus
{
String s = value.toString();
setText(s);
setIcon((s.length() > 10) ? longIcon : shortIcon);
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
setEnabled(list.isEnabled());
setFont(list.getFont());
return this;
}
}
String[] data = {"one", "two", "three", "fur"};
JList dataList = new JList(data);
dataList.setCellRenderer(new MyCellRenderer());
JList は、ダブルクリックやトリプル (およびそれ以上の回数の) クリックを特別にはサポートしていませんが、MouseListener を利用すればそれらを簡単に処理することができます。クリックされたセルを調べるには、JList の locationToIndex() メソッドを使用します。次に例を示します。
final JList list = new JList(dataModel);
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};
list.addMouseListener(mouseListener);
この例では、dataList は匿名の MouseListener クラスによって参照されているため、final となっています。
標準の Look & Feel (L&F) 表現でこのコンポーネントが使用するキーボードのキーについては、JList のキーの割り当てを参照してください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
詳細は、「The Java Tutorial」の「How to Use Lists」を参照してください。また、「The Swing Connection」 の「Advanced JList Programming」も参照してください。
ListModel,
AbstractListModel,
DefaultListModel,
ListSelectionModel,
DefaultListSelectionModel,
ListCellRenderer, 直列化された形式| 内部クラスの概要 | |
protected class |
JList.AccessibleJList
このクラスは JList クラス用のユーザ補助機能のサポートを実装しています。 |
| クラス javax.swing.JComponent から継承した内部クラス |
JComponent.AccessibleJComponent |
| クラス java.awt.Container から継承した内部クラス |
Container.AccessibleAWTContainer |
| クラス java.awt.Component から継承した内部クラス |
Component.AccessibleAWTComponent |
| クラス javax.swing.JComponent から継承したフィールド |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| クラス java.awt.Component から継承したフィールド |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| インタフェース java.awt.image.ImageObserver から継承したフィールド |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| コンストラクタの概要 | |
JList()
空のモデルで JList を構築します。 |
|
JList(ListModel dataModel)
指定された null 以外のモデルの要素を表示する JList を構築します。 |
|
JList(Object[] listData)
指定された配列の要素を表示する JList を構築します。 |
|
JList(Vector listData)
指定された Vector の要素を表示する JList を構築します。 |
|
| メソッドの概要 | |
void |
addListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリストにリスナーを追加します。 |
void |
addSelectionInterval(int anchor,
int lead)
指定された区間を現在の選択に加えます。 |
void |
clearSelection()
選択をクリアします。 |
protected ListSelectionModel |
createSelectionModel()
DefaultListSelectionModel のインスタンスを返します。 |
void |
ensureIndexIsVisible(int index)
ビューポートをスクロールし、指定されたセルを完全に可視にします。 |
protected void |
fireSelectionValueChanged(int firstIndex,
int lastIndex,
boolean isAdjusting)
選択モデルが変更されたことを JList の ListSelectionListener に通知します。 |
AccessibleContext |
getAccessibleContext()
この JList に関連した AccessibleContext を返します。 |
int |
getAnchorSelectionIndex()
最後の addSelectionModel または setSelectionInterval 呼び出しにおける最初のインデックス引数を返します。 |
Rectangle |
getCellBounds(int index0,
int index1)
JList 座標で指定された項目範囲の境界を返します。 |
ListCellRenderer |
getCellRenderer()
リスト項目を描画するオブジェクトを返します。 |
int |
getFirstVisibleIndex()
JList の左上隅にあるセルのインデックスを返します。 |
int |
getFixedCellHeight()
固定セル高の値を返します。 |
int |
getFixedCellWidth()
固定セル幅の値を返します。 |
int |
getLastVisibleIndex()
JList の右下隅にあるセルのインデックスを返します。 |
int |
getLeadSelectionIndex()
最後の addSelectionInterval または setSelectionInterval 呼び出しにおける 2 番目のインデックス引数を返します。 |
int |
getMaxSelectionIndex()
選択されているセルの最大インデックスを返します。 |
int |
getMinSelectionIndex()
選択されているセルの最小インデックスを返します。 |
ListModel |
getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。 |
Dimension |
getPreferredScrollableViewportSize()
visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。 |
Object |
getPrototypeCellValue()
「プロトタイプセル」のセル幅を返します。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
ブロックの増分量を返します。 |
boolean |
getScrollableTracksViewportHeight()
この JList が JViewport に表示され、ビューポートが JList の適切な高さよりも高い場合は true を返します。 |
boolean |
getScrollableTracksViewportWidth()
この JList が JViewport に表示され、ビューポートが JList の適切な幅よりも広い場合は true を返します。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
前または次の行 (垂直スクロール)、または文字 (水平スクロール) を表示するためにスクロールする距離を返します。 |
int |
getSelectedIndex()
最初に選択されたインデックスを返すか、選択項目がない場合は -1 を返します。 |
int[] |
getSelectedIndices()
選択されているすべてのインデックスの昇順配列を返します。 |
Object |
getSelectedValue()
最初に選択されたインデックスを返すか、選択が空の場合は null を返します。 |
Object[] |
getSelectedValues()
選択されたセルの値の配列を返します。 |
Color |
getSelectionBackground()
選択されたセルのバックグラウンドカラーを返します。 |
Color |
getSelectionForeground()
フォアグラウンドカラーの選択を返します。 |
int |
getSelectionMode()
単一項目選択または複数項目選択のどちらが許容されているかを返します。 |
ListSelectionModel |
getSelectionModel()
現在の選択モデルの値を返します。 |
ListUI |
getUI()
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを返します。 |
String |
getUIClassID()
Look & Feel (L&F) クラスの名前の構築に使用された接頭辞を返します。 |
boolean |
getValueIsAdjusting()
データモデルの isAdjusting プロパティの値を返します。 |
int |
getVisibleRowCount()
可視行の適切な数を返します。 |
Point |
indexToLocation(int index)
指定された項目の JList 座標における原点を返します。 |
boolean |
isSelectedIndex(int index)
指定されたインデックスが選択されている場合は true を返します。 |
boolean |
isSelectionEmpty()
何も選択されていない場合は true を返します。 |
int |
locationToIndex(Point location)
JList の座標上の点をその位置にあるセルのインデックスに変換します。 |
protected String |
paramString()
この JList の文字列表現を返します。 |
void |
removeListSelectionListener(ListSelectionListener listener)
選択が変更されるたびに通知されるリスナーをリストから削除します。 |
void |
removeSelectionInterval(int index0,
int index1)
指定された区間を現在の選択から削除します。 |
void |
setCellRenderer(ListCellRenderer cellRenderer)
リスト内の各セルを描画する委譲を設定します。 |
void |
setFixedCellHeight(int height)
リストにあるすべてのセルの高さを設定します。 |
void |
setFixedCellWidth(int width)
リストにあるすべてのセルの幅を設定します。 |
void |
setListData(Object[] listData)
Object の配列から ListModel を構築し、setModel を適用します。 |
void |
setListData(Vector listData)
Vector から ListModel を構築し、setModel を適用します。 |
void |
setModel(ListModel model)
リストの内容または「値」を表すモデルを設定し、 PropertyChangeListener への通知後にリストの選択物をクリアします。
|
void |
setPrototypeCellValue(Object prototypeCellValue)
fixedCellWidth および fixedCellHeight プロパティを計算します。 |
void |
setSelectedIndex(int index)
単一セルを選択します。 |
void |
setSelectedIndices(int[] indices)
セルのセットを選択します。 |
void |
setSelectedValue(Object anObject,
boolean shouldScroll)
指定されたオブジェクトをリストから選択します。 |
void |
setSelectionBackground(Color selectionBackground)
選択されたセルのバックグラウンドカラーを設定します。 |
void |
setSelectionForeground(Color selectionForeground)
選択されたセルのフォアグラウンドカラーを設定します。 |
void |
setSelectionInterval(int anchor,
int lead)
指定された区間を選択します。 |
void |
setSelectionMode(int selectionMode)
単一項目選択または複数項目選択が可能かどうかを判定します。 |
void |
setSelectionModel(ListSelectionModel selectionModel)
リストの selectionModel を null ではない ListSelectionModel 実装に設定します。 |
void |
setUI(ListUI ui)
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを設定します。 |
void |
setValueIsAdjusting(boolean b)
データモデルの isAdjusting プロパティを true に設定し、すべての選択イベント (選択モードでリスト項目上をマウスでドラッグしている場合など) が完了した時点で単一イベントが生成されるようにします。 |
void |
setVisibleRowCount(int visibleRowCount)
スクロールバーを使用せずに表示できるリスト内の行の適切な数を設定します。 |
void |
updateUI()
現在のデフォルトの UIFactory から取得した ListUI で UI プロパティを設定します。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
public JList(ListModel dataModel)
JList を構築します。すべての JList コンストラクタは、このオブジェクトに委譲します。dataModel - このリストのデータモデルIllegalArgumentException - dataModel が null の場合public JList(Object[] listData)
JList を構築します。このコンストラクタは、ListModel コンストラクタに委譲します。listData - データモデルにロードされる Object の配列public JList(Vector listData)
Vector の要素を表示する JList を構築します。このコンストラクタは、ListModel コンストラクタに委譲します。listData - データモデルにロードされる Vectorpublic JList()
JList を構築します。| メソッドの詳細 |
public ListUI getUI()
public void setUI(ListUI ui)
ui - ListUI L&F オブジェクトUIDefaults.getUI(javax.swing.JComponent)public void updateUI()
JList コンストラクタによって呼び出され、リストの Look & Feel を実行時に更新します。JComponent 内の updateUIUIManager.getUI(javax.swing.JComponent)public String getUIClassID()
JComponent 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)public Object getPrototypeCellValue()
prototypeCellValue プロパティの値setPrototypeCellValue(java.lang.Object)public void setPrototypeCellValue(Object prototypeCellValue)
fixedCellWidth および fixedCellHeight プロパティを計算します。インデックス 0 の cellRenderer を指定値に設定してから、レンダリングコンポーネントの優先サイズを計算します。リストが長すぎて JList が各セルの幅と高さを計算できず、他のセルと同じスペースを持つことがわかっているセルがある場合には、このプロパティが便利です。
fixedCellWidth および fixedCellHeight プロパティをここで設定しても、prototypeCellValue だけで PropertyChangeEvent がトリガーされることに注意してください。
このプロパティの設定例を参照するには、上記のクラスの説明を参照してください。
このプロパティのデフォルト値は null です。
これは JavaBeans バウンドプロパティです。
prototypeCellValue - fixedCellWidth および fixedCellHeight のベースとなる値getPrototypeCellValue(),
setFixedCellWidth(int),
setFixedCellHeight(int),
JComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)public int getFixedCellWidth()
fixedCellWidth プロパティで指定されている値です。setFixedCellWidth(int)public void setFixedCellWidth(int width)
width が -1 の場合、各リスト要素の cellRenderer コンポーネントに getPreferredSize を適用することにより、セル幅が計算されます。
このプロパティのデフォルト値は -1 です。
これは JavaBeans バウンドプロパティです。
width - ピクセル単位の、リスト内のすべてのセルの幅getPrototypeCellValue(),
setFixedCellWidth(int),
JComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)public int getFixedCellHeight()
fixedCellHeight プロパティで指定されている値です。setFixedCellHeight(int)public void setFixedCellHeight(int height)
height が -1 の場合、各リスト要素の cellRenderer コンポーネントに getPreferredSize を適用することにより、セルの高さが計算されます。
このプロパティのデフォルト値は -1 です。
これは JavaBeans バウンドプロパティです。
height - リスト内のすべてのセルの高さをピクセル数で指定する int 値getPrototypeCellValue(),
setFixedCellWidth(int),
JComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)public ListCellRenderer getCellRenderer()
ListCellRenderersetCellRenderer(javax.swing.ListCellRenderer)public void setCellRenderer(ListCellRenderer cellRenderer)
prototypeCellValue が設定されていれば、fixedCellWidth および fixedCellHeight プロパティも設定されます。しかし、cellRenderer プロパティに対しては PropertyChangeEvent は 1 つだけ生成されます。
このプロパティのデフォルト値は ListUI 委譲 (Look & Feel の実装) によって提供されます。
セルレンダリングの設定例を参照するには、上記の クラスの説明を参照してください。
これは JavaBeans バウンドプロパティです。
cellRenderer - リスト内のセルを描画する ListCellRenderergetCellRenderer()public Color getSelectionForeground()
Color オブジェクトsetSelectionForeground(java.awt.Color),
setSelectionBackground(java.awt.Color)public void setSelectionForeground(Color selectionForeground)
このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティです。
selectionForeground - 選択されたリスト項目のフォアグラウンドで使う ColorgetSelectionForeground(),
setSelectionBackground(java.awt.Color),
JComponent.setForeground(java.awt.Color),
JComponent.setBackground(java.awt.Color),
JComponent.setFont(java.awt.Font)public Color getSelectionBackground()
ColorsetSelectionBackground(java.awt.Color),
setSelectionForeground(java.awt.Color)public void setSelectionBackground(Color selectionBackground)
このプロパティのデフォルト値は、Look & Feel の実装によって定義されます。
これは JavaBeans バウンドプロパティです。
selectionBackground - 選択されたセルのバックグラウンドで使う ColorgetSelectionBackground(),
setSelectionForeground(java.awt.Color),
JComponent.setForeground(java.awt.Color),
JComponent.setBackground(java.awt.Color),
JComponent.setFont(java.awt.Font)public int getVisibleRowCount()
setVisibleRowCount(int)public void setVisibleRowCount(int visibleRowCount)
JViewport の上位オブジェクト (存在する場合のみ) によって決定されます。このプロパティ値は、JList の preferredScrollableViewportSize の値にのみ影響します。
このプロパティのデフォルト値は 8 です。
これは JavaBeans バウンドプロパティです。
visibleRowCount - 可視行の適切な数を指定する整数値getVisibleRowCount(),
JComponent.getVisibleRect(),
JViewportpublic int getFirstVisibleIndex()
JList の左上隅にあるセルのインデックスを返します。どのセルも可視ではない場合やリストが空である場合には -1 を返します。セルは部分的に可視でもかまいません。getLastVisibleIndex(),
JComponent.getVisibleRect()public int getLastVisibleIndex()
JList の右下隅にあるセルのインデックスを返します。どのセルも可視ではない場合やリストが空である場合には -1 を返します。セルは部分的に可視でもかまいません。getLastVisibleIndex(),
JComponent.getVisibleRect()public void ensureIndexIsVisible(int index)
JViewport 内で JList を表示する必要があります。index - 可視にするセルのインデックスJComponent.scrollRectToVisible(java.awt.Rectangle),
JComponent.getVisibleRect()public int locationToIndex(Point location)
JList の座標上の点をその位置にあるセルのインデックスに変換します。指定された位置にセルが存在しない場合は、-1 を返します。location - JList に関連したセルの座標public Point indexToLocation(int index)
JList 座標における原点を返します。index が無効な場合は、null を返します。index - JList セルのインデックス
public Rectangle getCellBounds(int index0,
int index1)
JList 座標で指定された項目範囲の境界を返します。インデックスが無効な場合は null を返します。index0 - 範囲内の最初の JList セルのインデックスindex1 - 範囲内の最後の JList セルのインデックスpublic ListModel getModel()
JList コンポーネントによって表示される項目のリストを保持するデータモデルを返します。ListModelsetModel(javax.swing.ListModel)public void setModel(ListModel model)
PropertyChangeListener への通知後にリストの選択物をクリアします。
これは JavaBeans バウンドプロパティです。
model - 表示される項目のリストを提供する ListModelIllegalArgumentException - model が null の場合getModel()public void setListData(Object[] listData)
ListModel を構築し、setModel を適用します。listData - リストに表示する項目を保持する Object の配列setModel(javax.swing.ListModel)public void setListData(Vector listData)
Vector から ListModel を構築し、setModel を適用します。listData - リストに表示する項目を保持する VectorsetModel(javax.swing.ListModel)protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel のインスタンスを返します。このメソッドは、コンストラクタが selectionModel プロパティを初期化するのに使用します。JList が使用する ListSelectionModelsetSelectionModel(javax.swing.ListSelectionModel),
DefaultListSelectionModelpublic ListSelectionModel getSelectionModel()
ListSelectionModelsetSelectionModel(javax.swing.ListSelectionModel),
ListSelectionModel
protected void fireSelectionValueChanged(int firstIndex,
int lastIndex,
boolean isAdjusting)
JList の ListSelectionListener に通知します。このメソッドは、ListSelectionEvent を selectionModel から、直接 JList に追加された ListSelectionListener に転送するために使用されます。firstIndex - 選択されている最初のインデックスlastIndex - 選択されている最後のインデックスisAdjusting - 複数の変更が行われた場合は trueaddListSelectionListener(javax.swing.event.ListSelectionListener),
removeListSelectionListener(javax.swing.event.ListSelectionListener),
EventListenerListpublic void addListSelectionListener(ListSelectionListener listener)
JList に直接追加されるリスナーは、(ListSelectionModel の代わりに) ListSelectionEvent.getSource() (この JList) を持ちます。listener - 追加する ListSelectionListenergetSelectionModel()public void removeListSelectionListener(ListSelectionListener listener)
listener - 削除する ListSelectionListeneraddListSelectionListener(javax.swing.event.ListSelectionListener),
getSelectionModel()public void setSelectionModel(ListSelectionModel selectionModel)
selectionModel を null ではない ListSelectionModel 実装に設定します。選択モデルは、単一選択、隣接した範囲の選択、および非隣接選択を作成するタスクを処理します。
これは JavaBeans バウンドプロパティです。
selectionModel - 選択を実装する ListSelectionModelIllegalArgumentException - selectionModel が null の場合getSelectionModel()public void setSelectionMode(int selectionMode)
selectionMode 値を指定できます。
SINGLE_SELECTION - 1 回に 1 つのリストインデックスのみが選択できます。このモードでは、setSelectionInterval および addSelectionInterval メソッドは同等となり、2 番目のインデックス引数のみが使用されます。
SINGLE_INTERVAL_SELECTION - 連続するインデックス区間を 1 回に 1 つ選択できます。このモードでは、setSelectionInterval メソッドと addSelectionInterval メソッドは同等です。
MULTIPLE_INTERVAL_SELECTION - このモードでは、選択対象に制限はありません。これがデフォルトです。
selectionMode - 可能な選択タイプを指定する整数getSelectionMode()public int getSelectionMode()
selectionMode プロパティの値setSelectionMode(int)public int getAnchorSelectionIndex()
addSelectionModel または setSelectionInterval 呼び出しにおける最初のインデックス引数を返します。selectionModel に委譲する簡易メソッドです。ListSelectionModel.getAnchorSelectionIndex(),
addSelectionInterval(int, int),
setSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public int getLeadSelectionIndex()
addSelectionInterval または setSelectionInterval 呼び出しにおける 2 番目のインデックス引数を返します。selectionModel に委譲する簡易メソッドです。ListSelectionModel.getLeadSelectionIndex(),
addSelectionInterval(int, int),
setSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public int getMinSelectionIndex()
selectionModel に委譲する簡易メソッドです。ListSelectionModel.getMinSelectionIndex(),
addListSelectionListener(javax.swing.event.ListSelectionListener)public int getMaxSelectionIndex()
selectionModel に委譲する簡易メソッドです。ListSelectionModel.getMaxSelectionIndex(),
addListSelectionListener(javax.swing.event.ListSelectionListener)public boolean isSelectedIndex(int index)
selectionModel に委譲する簡易メソッドです。index - 選択状態が照会されるインデックスListSelectionModel.isSelectedIndex(int),
setSelectedIndex(int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public boolean isSelectionEmpty()
selectionModel に委譲する簡易メソッドです。ListSelectionModel.isSelectionEmpty(),
clearSelection(),
addListSelectionListener(javax.swing.event.ListSelectionListener)public void clearSelection()
isSelectionEmpty は true を返します。selectionModel に委譲する簡易メソッドです。ListSelectionModel.clearSelection(),
isSelectionEmpty(),
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void setSelectionInterval(int anchor,
int lead)
selectionModel に委譲する簡易メソッドです。anchor - 選択する最初のインデックスlead - 選択する最後のインデックスListSelectionModel.setSelectionInterval(int, int),
addSelectionInterval(int, int),
removeSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void addSelectionInterval(int anchor,
int lead)
selectionModel に委譲する簡易メソッドです。anchor - 選択に追加する最初のインデックスlead - 選択に追加する最後のインデックスListSelectionModel.addSelectionInterval(int, int),
setSelectionInterval(int, int),
removeSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void removeSelectionInterval(int index0,
int index1)
selectionModel に委譲する簡易メソッドです。anchor - 選択から削除する最初のインデックスlead - 選択から削除する最後のインデックスListSelectionModel.removeSelectionInterval(int, int),
setSelectionInterval(int, int),
addSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public void setValueIsAdjusting(boolean b)
isAdjusting プロパティを true に設定し、すべての選択イベント (選択モードでリスト項目上をマウスでドラッグしている場合など) が完了した時点で単一イベントが生成されるようにします。b - プロパティ値の boolean 値ListSelectionModel.setValueIsAdjusting(boolean)public boolean getValueIsAdjusting()
isAdjusting プロパティの値を返します。複数の変更が行われている場合には true を返します。ListSelectionModel.getValueIsAdjusting()public int[] getSelectedIndices()
removeSelectionInterval(int, int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectedIndex(int index)
index - 選択する単一セルのインデックスListSelectionModel.setSelectionInterval(int, int),
isSelectedIndex(int),
addListSelectionListener(javax.swing.event.ListSelectionListener)public void setSelectedIndices(int[] indices)
indices - 選択するセルのインデックスの配列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()
getMinSelectionIndex の値getMinSelectionIndex(),
addListSelectionListener(javax.swing.event.ListSelectionListener)public Object getSelectedValue()
null を返します。getMinSelectionIndex(),
getModel(),
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void setSelectedValue(Object anObject,
boolean shouldScroll)
anObject - 選択するオブジェクトshouldScroll - オブジェクトが存在し、リストをスクロールして選択したオブジェクトを表示する場合は true。そうでない場合は falsepublic Dimension getPreferredScrollableViewportSize()
visibleRowCount の行を表示するために必要なビューポートのサイズを計算します。fixedCellWidth および fixedCellHeight プロパティが指定されている場合には、このサイズは明らかです。これらのプロパティ値は、prototypeCellValue プロパティによって暗黙に指定されることもあります。fixedCellWidth が指定されていない場合には、このサイズはもっとも幅の広いリスト要素を見つけることによって計算されます。fixedCellHeight が指定されていない場合には、次のような経験則に頼ります。
visibleRowCount によって乗算します。
JList.getModel().getSize() == 0 であれば)、可視行あたり 16 ピクセルを割り当て、幅に (fixedCellWidth が設定されていなければ) 256 ピクセルを割り当て、最善の結果を期待します。
Scrollable 内の getPreferredScrollableViewportSizevisibleRowCount 行の表示に必要なビューポートのサイズを含む寸法getPreferredScrollableViewportSize(),
setPrototypeCellValue(java.lang.Object)
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
null であれば、1 を返します。標準的な文字列 ("m" など) の幅ではなく、計算が容易なフォントサイズを使用しています。
垂直スクロールの場合は、下方向にスクロールする場合に (direction が 0 より大きい)、先頭行が visibleRect に対して完全に可視であれば、先頭行の高さを返します。下方向にスクロールする場合に、先頭行が部分的にのみ可視であれば、先頭行の可視分の高さを返します。同じように、上方向にスクロールする場合に、先頭行が完全に可視であれば、先頭行の上の行の高さを返します。
visibleRect の値は、this.getVisibleRect() と同じでなければなりません。
Scrollable 内の getScrollableUnitIncrementvisibleRect - 可視矩形orientation - HORIZONTAL または VERTICALdirection - <= 0 の場合はスクロールアップ、> 0 の場合はスクロールダウンIllegalArgumentException - visibleRect が null の場合、あるいは orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のどちらかでない場合- 関連項目:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
Scrollable 内の getScrollableBlockIncrementvisibleRect - 可視矩形orientation - HORIZONTAL または VERTICALdirection - <= 0 の場合はスクロールアップ、> 0 の場合はスクロールダウンIllegalArgumentException - visibleRect が null の場合、あるいは orientation が SwingConstants.VERTICAL または SwingConstants.HORIZONTAL のどちらかでない場合- 関連項目:
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)public boolean getScrollableTracksViewportWidth()
JList が JViewport に表示され、ビューポートが JList の適切な幅よりも広い場合は true を返します。そうでない場合は false を返します。false の場合、ビューポートの幅を追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、水平スクロールができるようになります。Scrollable 内の getScrollableTracksViewportWidthJList の適切な幅よりも広い場合は true、そうでない場合は falseScrollable.getScrollableTracksViewportWidth()public boolean getScrollableTracksViewportHeight()
JList が JViewport に表示され、ビューポートが JList の適切な高さよりも高い場合は true を返します。そうでない場合は false を返します。false の場合、ビューポートの高さを追跡しません。これにより、JViewport 自体が JScrollPane に組み込まれている場合、垂直スクロールができるようになります。Scrollable 内の getScrollableTracksViewportHeightJlist の適切な高さよりも高い場合は true、そうでない場合は falseScrollable.getScrollableTracksViewportHeight()protected String paramString()
JList の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。JComponent 内の paramStringJList の文字列表現public AccessibleContext getAccessibleContext()
Accessible 内の getAccessibleContextJComponent 内の getAccessibleContext
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.