|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.plaf.ComponentUI | +--javax.swing.plaf.ListUI | +--javax.swing.plaf.basic.BasicListUI
ListUI の Windows Look & Feel による実装です。
入れ子クラスの概要 | |
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 の新しいインスタンスを返します。 |
Rectangle |
getCellBounds(JList list,
int index1,
int index2)
指定された項目の JList 座標における境界を返します。 |
Dimension |
getMaximumSize(JComponent c)
Look & Feel に適した、指定されたコンポーネントの最大サイズを返します。 |
Dimension |
getMinimumSize(JComponent c)
Look & Feel に適した、指定されたコンポーネントの最小サイズを返します。 |
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, 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 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)
public Dimension getMinimumSize(JComponent c)
ComponentUI
の記述: null
が返される場合、最小サイズは代わりにコンポーネントのレイアウトマネージャによって計算されます (これは、特定のレイアウトマネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は getPreferredSize
を呼び出して、その値を返します。
ComponentUI
内の getMinimumSize
c
- 最小サイズが照会されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
の記述: null
が返される場合、最大サイズは代わりにコンポーネントのレイアウトマネージャによって計算されます (これは、特定のレイアウトマネージャをインストールしてあるコンポーネントの場合に推奨する方法です)。このメソッドのデフォルト実装は getPreferredSize
を呼び出して、その値を返します。
ComponentUI
内の getMaximumSize
c
- 最大サイズが照会されるコンポーネント。この引数はしばしば無視されるが、UI オブジェクトが状態なしで複数のコンポーネントに共有される場合に使用されることがある
getPreferredSize(javax.swing.JComponent)
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
location
- セルの JList 上の相対座標
ListUI.locationToIndex(javax.swing.JList, java.awt.Point)
public Point indexToLocation(JList list, int index)
ListUI
の記述:
ListUI
内の indexToLocation
index
- JList セルのインデックス
ListUI.indexToLocation(javax.swing.JList, int)
public Rectangle getCellBounds(JList list, int index1, int index2)
ListUI
の記述:
ListUI
内の getCellBounds
ListUI.getCellBounds(javax.swing.JList, int, int)
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 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.