|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ListUI javax.swing.plaf.basic.BasicListUI
public class BasicListUI
ListUI
の拡張実装です。
複数のリスト間で BasicListUI
インスタンスを共有することはできません。
入れ子のクラスの概要 | |
---|---|
class |
BasicListUI.FocusHandler
この内部クラスは「public」とマークされますが、これはコンパイラのバグが原因です。 |
class |
BasicListUI.ListDataHandler
installUI の実行時、および JList.model プロパティーの変更時に、JList モデルに追加される ListDataListener です。 |
class |
BasicListUI.ListSelectionHandler
installUI の実行時、および JList.selectionModel プロパティーの変更時に、JLists 選択モデルに追加される ListSelectionListener です。 |
class |
BasicListUI.MouseInputHandler
JList のためのフォーカス処理とマウス入力です。 |
class |
BasicListUI.PropertyChangeHandler
PropertyChangeListener は、installUI の実行時に JList に追加されます。 |
フィールドの概要 | |
---|---|
protected int |
cellHeight
|
protected int[] |
cellHeights
|
protected static int |
cellRendererChanged
|
protected int |
cellWidth
|
protected static int |
fixedCellHeightChanged
|
protected static int |
fixedCellWidthChanged
|
protected FocusListener |
focusListener
|
protected static int |
fontChanged
|
protected JList |
list
|
protected ListDataListener |
listDataListener
|
protected ListSelectionListener |
listSelectionListener
|
protected static int |
modelChanged
|
protected MouseInputListener |
mouseInputListener
|
protected PropertyChangeListener |
propertyChangeListener
|
protected static int |
prototypeCellValueChanged
|
protected CellRendererPane |
rendererPane
|
protected static int |
selectionModelChanged
|
protected int |
updateLayoutStateNeeded
|
コンストラクタの概要 | |
---|---|
BasicListUI()
|
メソッドの概要 | |
---|---|
protected int |
convertRowToY(int row)
指定された行の原点の JList 相対 Y 座標を返します。 |
protected int |
convertYToRow(int y0)
JList の相対座標を、現在のレイアウトを基にして、座標を含む行に変換します。 |
protected FocusListener |
createFocusListener()
|
protected ListDataListener |
createListDataListener()
モデルによって必要に応じて JList に追加される、ListDataListener のインスタンスを生成します。 |
protected ListSelectionListener |
createListSelectionListener()
selectionModel によって必要に応じて JList に追加される、ListSelectionHandler のインスタンスを生成します。 |
protected MouseInputListener |
createMouseInputListener()
MouseInputListener を実装する委譲を作成します。 |
protected PropertyChangeListener |
createPropertyChangeListener()
installUI() によって JList に追加される、PropertyChangeHandler のインスタンスを生成します。 |
static ComponentUI |
createUI(JComponent list)
BasicListUI の新しいインスタンスを返します。 |
int |
getBaseline(JComponent c,
int width,
int height)
ベースラインを返します。 |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior(JComponent c)
コンポーネントのサイズが変化するにつれてベースラインが変化する方法の列挙を返します。 |
Rectangle |
getCellBounds(JList list,
int index1,
int index2)
2 つのインデックスで指定されたセルの範囲を示す、指定されたリストの座標系内の境界の矩形を返します。 |
Dimension |
getPreferredSize(JComponent c)
リストの preferredSize は、配置方向によって決まります。 |
protected int |
getRowHeight(int row)
現在のレイアウトで、指定された行の高さを返します。 |
Point |
indexToLocation(JList list,
int index)
リストの座標系内の指定された項目の指定された JList 内の原点を返します。 |
protected void |
installDefaults()
JList のプロパティー (フォント、フォアグラウンド、およびバックグラウンドなど) を初期化して、CellRendererPane を追加します。 |
protected void |
installKeyboardActions()
BasicListUI が関連付けられる JList 上のキーボードバインディングを返します。 |
protected void |
installListeners()
JList、そのモデル、および selectionModel のリスナーを作成およびインストールします。 |
void |
installUI(JComponent c)
installDefaults() 、installListeners() 、および installKeyboardActions() を順に呼び出して、this.list を初期化します。 |
int |
locationToIndex(JList list,
Point location)
リストの座標系内の指定された位置にもっとも近い、指定された JList 内のセルインデックスを返します。 |
protected void |
maybeUpdateLayoutState()
updateLayoutStateNeeded がゼロでなければ、updateLayoutState() を呼び出して updateLayoutStateNeeded をリセットします。 |
void |
paint(Graphics g,
JComponent c)
Graphics オブジェクトの clipRect と交差する行をペイントします。 |
protected void |
paintCell(Graphics g,
int row,
Rectangle rowBounds,
ListCellRenderer cellRenderer,
ListModel dataModel,
ListSelectionModel selModel,
int leadIndex)
List のセルを 1 つペイントします。 |
protected void |
selectNextIndex()
1 つ前の行を選択して、それを強制的に可視にします。 |
protected void |
selectPreviousIndex()
1 つ前の行を選択して、それを強制的に可視にします。 |
protected void |
uninstallDefaults()
null に明示的にオーバーライドされていない JList のプロパティーを設定します。 |
protected void |
uninstallKeyboardActions()
installKeyboardActions からインストールされたキーボードアクションの登録を解除します。 |
protected void |
uninstallListeners()
JList、そのモデル、および selectionModel のリスナーを削除します。 |
void |
uninstallUI(JComponent c)
uninstallListeners() 、uninstallKeyboardActions() 、および uninstallDefaults() を順に呼び出して、this.list の初期化を解除します。 |
protected void |
updateLayoutState()
cellHeight (または cellHeights) および cellWidth の値を、現在のフォントと、fixedCellWidth、fixedCellHeight、および prototypeCellValue の現在の値を基にして計算し直します。 |
クラス javax.swing.plaf.ComponentUI から継承されたメソッド |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected JList list
protected CellRendererPane rendererPane
protected FocusListener focusListener
protected MouseInputListener mouseInputListener
protected ListSelectionListener listSelectionListener
protected ListDataListener listDataListener
protected PropertyChangeListener propertyChangeListener
protected int[] cellHeights
protected int cellHeight
protected int cellWidth
protected int updateLayoutStateNeeded
protected static final int modelChanged
protected static final int selectionModelChanged
protected static final int fontChanged
protected static final int fixedCellWidthChanged
protected static final int fixedCellHeightChanged
protected static final int prototypeCellValueChanged
protected static final int cellRendererChanged
コンストラクタの詳細 |
---|
public BasicListUI()
メソッドの詳細 |
---|
protected void paintCell(Graphics g, int row, Rectangle rowBounds, ListCellRenderer cellRenderer, ListModel dataModel, ListSelectionModel selModel, int leadIndex)
paint(java.awt.Graphics, javax.swing.JComponent)
public void paint(Graphics g, JComponent c)
ComponentUI
内の paint
g
- ペイント対象の Graphics
コンテキストc
- ペイントされるコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがあるpaintCell(java.awt.Graphics, int, java.awt.Rectangle, javax.swing.ListCellRenderer, javax.swing.ListModel, javax.swing.ListSelectionModel, int)
public int getBaseline(JComponent c, int width, int height)
ComponentUI
内の getBaseline
c
- 要求される JComponent
ベースラインwidth
- ベースラインを取得する幅height
- ベースラインを取得する高さ
NullPointerException
- c
が null
の場合
IllegalArgumentException
- 幅または高さが 0 より小さい場合JComponent.getBaseline(int, int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
ComponentUI
内の getBaselineResizeBehavior
c
- ベースラインのサイズ変更の動作を返す JComponent
NullPointerException
- c
が null
の場合JComponent.getBaseline(int, int)
public Dimension getPreferredSize(JComponent c)
配置方向 | 適切なサイズ |
---|---|
JList.VERTICAL | リストの preferredSize は、行の高さの合計と、セルの最大幅です。JList.fixedCellHeight が指定されている場合、行の高さの合計は (cellVerticalMargins + fixedCellHeight) * model.getSize() になります。ここで rowVerticalMargins は、フォーカスを示す黄色いアウトラインを描画するために割り当てる領域に相当します。同様に、fixedCellWidth が指定されている場合は、セルの固定幅を使用します。 |
JList.VERTICAL_WRAP | 可視の行数が 0 より大きい場合、preferredHeight は、セルの最大の高さ * visibleRowCount になります。可視の行数が 0 以下の場合、適切な高さは、現在のリストの高さと、セルの最大の高さのうちの高いほうになります。適切な幅は、セルの最大幅 * 必要な列数、になります。ここで、必要な列数はリストの高さ/セルの最大の高さです。セルの最大の高さは、セルの固定の高さになるか、すべてのセルに対して繰り返し ListCellRenderer から最大の高さを検索することにより決まります。 |
JList.HORIZONTAL_WRAP | 可視の行数が 0 より大きい場合、preferredHeight は、セルの最大の高さ * adjustedRowCount になります。ここで、visibleRowCount は、列数の指定に使用されます。水平に配置するため、行数は列数から決まります。たとえば、10 項目のモデルで可視行数が 8 だとします。 表示に必要な列は 2 列ですが、8 行も必要なく、5 行で済みます。 したがって、adjustedRowCount は 5 になります。
可視行数が 0 以下の場合、適切な高さは列数に従います。 少なくとも 1 列で、 |
Insets
は list.getInsets()
から決まります。
ComponentUI
内の getPreferredSize
c
- JList コンポーネント
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
protected void selectPreviousIndex()
JList.ensureIndexIsVisible(int)
protected void selectNextIndex()
JList.ensureIndexIsVisible(int)
protected void installKeyboardActions()
BasicListUI
が関連付けられる JList
上のキーボードバインディングを返します。このメソッドは、installUI() の実行時に呼び出されます。
installUI(javax.swing.JComponent)
protected void uninstallKeyboardActions()
installKeyboardActions
からインストールされたキーボードアクションの登録を解除します。このメソッドは、uninstallUI() の実行時に呼び出されます。 サブクラスは、installUI の実行時に登録されたキーボードアクションをすべて、ここで削除する必要があります。
installUI(javax.swing.JComponent)
protected void installListeners()
installUI(javax.swing.JComponent)
,
uninstallListeners()
protected void uninstallListeners()
uninstallUI(javax.swing.JComponent)
,
installListeners()
protected void installDefaults()
uninstallDefaults()
,
installUI(javax.swing.JComponent)
,
CellRendererPane
protected void uninstallDefaults()
installDefaults()
,
uninstallUI(javax.swing.JComponent)
,
CellRendererPane
public void installUI(JComponent c)
installDefaults()
、installListeners()
、および installKeyboardActions()
を順に呼び出して、this.list
を初期化します。
ComponentUI
内の installUI
c
- UI 委譲がインストールされているコンポーネントinstallDefaults()
,
installListeners()
,
installKeyboardActions()
public void uninstallUI(JComponent c)
uninstallListeners()
、uninstallKeyboardActions()
、および uninstallDefaults()
を順に呼び出して、this.list
の初期化を解除します。this.list は null に設定されます。
ComponentUI
内の uninstallUI
c
- この UI 委譲を削除するコンポーネント。
この引数は通常無視されるが、
UI オブジェクトに状態がなく、複数のコンポーネントに共有されている場合は
使用されることがあるuninstallListeners()
,
uninstallKeyboardActions()
,
uninstallDefaults()
public static ComponentUI createUI(JComponent list)
public int locationToIndex(JList list, Point location)
JList
内のセルインデックスを返します。セルが実際にその指定された位置を含むかどうかを判定するには、getCellBounds
の規定どおり、点とセルの境界を比較します。このメソッドは、リストのモデルが空の場合、-1
を返します。
ListUI
内の locationToIndex
list
- リストlocation
- 点の座標
-1
NullPointerException
- location
が null の場合public Point indexToLocation(JList list, int index)
JList
内の原点を返します。インデックスが有効でない場合は、null
を返します。
ListUI
内の indexToLocation
list
- リストindex
- セルのインデックス
null
public Rectangle getCellBounds(JList list, int index1, int index2)
小さいほうのインデックスがリストのセルの範囲外にある場合、このメソッドは null
を返します。小さいほうのインデックスが有効であっても、大きいほうのインデックスがリストの範囲外にある場合、最初のインデックスの境界だけが返されます。そうでない場合、有効な範囲の境界が返されます。
ListUI
内の getCellBounds
list
- リストindex1
- 範囲の先頭のインデックスindex2
- 範囲の 2 番目のインデックス
null
protected int getRowHeight(int row)
convertYToRow(int)
,
convertRowToY(int)
,
updateLayoutState()
protected int convertYToRow(int y0)
getRowHeight(int)
,
updateLayoutState()
protected int convertRowToY(int row)
getRowHeight(int)
,
updateLayoutState()
protected void maybeUpdateLayoutState()
updateLayoutState()
protected void updateLayoutState()
maybeUpdateLayoutState()
protected MouseInputListener createMouseInputListener()
class MyListUI extends BasicListUI { protected MouseInputListener createMouseInputListener() { return new MyMouseInputHandler(); } public class MyMouseInputHandler extends MouseInputHandler { public void mouseMoved(MouseEvent e) { // do some extra work when the mouse moves super.mouseMoved(e); } } }
BasicListUI.MouseInputHandler
,
installUI(javax.swing.JComponent)
protected FocusListener createFocusListener()
protected ListSelectionListener createListSelectionListener()
class MyListUI extends BasicListUI { protected ListSelectionListener createListSelectionListener() { return new MySelectionListener(); } public class MySelectionListener extends ListSelectionHandler { public void valueChanged(ListSelectionEvent e) { // do some extra work when the selection changes super.valueChange(e); } } }
BasicListUI.ListSelectionHandler
,
installUI(javax.swing.JComponent)
protected ListDataListener createListDataListener()
class MyListUI extends BasicListUI { protected ListDataListener createListDataListener() { return new MyListDataListener(); } public class MyListDataListener extends ListDataHandler { public void contentsChanged(ListDataEvent e) { // do some extra work when the models contents change super.contentsChange(e); } } }
ListDataListener
,
JList.getModel()
,
installUI(javax.swing.JComponent)
protected PropertyChangeListener createPropertyChangeListener()
class MyListUI extends BasicListUI { protected PropertyChangeListener createPropertyChangeListener() { return new MyPropertyChangeListener(); } public class MyPropertyChangeListener extends PropertyChangeHandler { public void propertyChange(PropertyChangeEvent e) { if (e.getPropertyName().equals("model")) { // do some extra work when the model changes } super.propertyChange(e); } } }
PropertyChangeListener
,
installUI(javax.swing.JComponent)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。