java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ListUI
javax.swing.plaf.basic.BasicListUI
- 直系の既知のサブクラス:
SynthListUI
public class BasicListUI extends ListUI
ListUI
の拡張実装です。
BasicListUI
インスタンスは複数のリスト間で共有できません。
-
ネストされたクラスのサマリー
修飾子と型クラス説明class
このクラスは、「protected」内部クラスとして扱うようにしてください。class
installUI time
のJLists
モデルに追加され、JList.modelプロパティが変更されるたびに追加されるListDataListener
。class
installUI時およびJList.selectionModelプロパティ変更時にJLists選択モデルに追加されるListSelectionListenerです。class
JListのためのマウス入力およびフォーカス処理です。class
installUI時にJListに追加されるPropertyChangeListenerです。 -
フィールドのサマリー
修飾子と型フィールド説明protected int
セルの高さ。protected int[]
セルの高さの配列protected static final int
このビットは、セル・レンダラ変更プロパティに関連しています。protected int
セルの幅。protected static final int
このビットは、固定セル高さ変更プロパティに関連しています。protected static final int
このビットは、固定セル幅変更プロパティに関連しています。protected FocusListener
JList
に添付されたFocusListener
。protected static final int
ビットは、フォント変更プロパティに関連しています。JList
のインスタンス。protected ListDataListener
JList
に添付されたListDataListener
。protected ListSelectionListener
JList
に添付されたListSelectionListener
。protected static final int
このビットは、モデル変更プロパティに関連しています。protected MouseInputListener
JList
に添付されたMouseInputListener
。protected PropertyChangeListener
JList
に添付されたPropertyChangeListener
。protected static final int
このビットは、プロトタイプ・セル値変更プロパティに関連しています。protected CellRendererPane
CellRendererPane
のインスタンス。protected static final int
ビットは、選択モデルの変更されたプロパティに関連しています。protected int
この値は、JList
モデルの変更を表します。 -
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明protected int
convertRowToY
(int row) 指定された行の原点のJList
相対Y座標、または行が無効な場合は -1を返します。protected int
convertYToRow
(int y0) JList
の相対座標を、現在のレイアウトに基づいて、それを含む行に変換します。protected FocusListener
FocusListener
のインスタンスを返します。protected ListDataListener
必要に応じて、モデルによってJLists
に追加されるListDataListener
のインスタンスを作成します。protected ListSelectionListener
必要に応じてselectionModelによってJLists
に追加されるListSelectionHandler
のインスタンスを作成します。protected MouseInputListener
MouseInputListener
を実装するデリゲートを作成します。protected PropertyChangeListener
installUI()
によってJList
に追加されるPropertyChangeHandler
のインスタンスを作成します。static ComponentUI
createUI
(JComponent list) BasicListUI
の新しいインスタンスを返します。int
getBaseline
(JComponent c, int width, int height) ベースラインを返します。サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。getCellBounds
(JList<?> list, int index1, int index2) 2つのインデックスで指定されたセルの範囲を示す、指定されたリストの座標系内の境界矩形を返します。リストのpreferredSizeはレイアウト方向によって決まります。protected int
getRowHeight
(int row) 現在のレイアウトに基づいて、指定された行の高さを返します。indexToLocation
(JList<?> list, int index) リストの座標系内の、指定された項目の特定のJList
内の原点を返します。protected void
リストのプロパティ(フォント、フォアグラウンド、およびバックグラウンドなど)を初期化して、CellRendererPaneを追加します。protected void
BasicListUI
が関連付けられているJList
上のキーボード・バインディングを登録します。protected void
JList、そのモデル、およびそのselectionModelのリスナーを作成およびインストールします。void
installDefaults()
、installListeners()
、およびinstallKeyboardActions()
を順番に呼び出して、this.list
を初期化します。int
locationToIndex
(JList<?> list, Point location) リストの座標系内の特定の位置にもっとも近い、指定されたJList
内のセル・インデックスを返します。protected void
updateLayoutStateNeededがゼロでなければ、updateLayoutState()を呼び出してupdateLayoutStateNeededをリセットします。void
paint
(Graphics g, JComponent c) GraphicsオブジェクトclipRectと交差する行をペイントします。protected void
paintCell
(Graphics g, int row, Rectangle rowBounds, ListCellRenderer<Object> cellRenderer, ListModel<Object> dataModel, ListSelectionModel selModel, int leadIndex) リスト・セルをペイント: 関連する状態をコンピュートし、"ラバー・スタンプ"セル・レンダラ・コンポーネントを取得し、CellRendererPane
を使用してペイントします。protected void
前の行を選択して、それを強制的に可視にします。protected void
前の行を選択して、それを強制的に可視にします。protected void
明示的にオーバーライドされていないリスト・プロパティをnull
に設定します。protected void
installKeyboardActions
からインストールされたキーボード・アクションの登録を解除します。protected void
JList、そのモデル、およびそのselectionModelからリスナーを削除します。void
uninstallListeners()
、uninstallKeyboardActions()
、およびuninstallDefaults()
を順番に呼び出して、this.list
の初期化を解除します。protected void
cellHeight (またはcellHeights)およびcellWidthの値を、現在のフォントと、fixedCellWidth、fixedCellHeight、およびprototypeCellValueの現在の値を基にして計算し直します。クラスjavax.swing.plaf.ComponentUIで宣言されたメソッド
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update
-
フィールド詳細
-
list
JList
のインスタンス。 -
rendererPane
protected CellRendererPane rendererPaneCellRendererPane
のインスタンス。 -
focusListener
protected FocusListener focusListenerJList
に添付されたFocusListener
。 -
mouseInputListener
protected MouseInputListener mouseInputListenerJList
に添付されたMouseInputListener
。 -
listSelectionListener
protected ListSelectionListener listSelectionListenerJList
に添付されたListSelectionListener
。 -
listDataListener
protected ListDataListener listDataListenerJList
に添付されたListDataListener
。 -
propertyChangeListener
protected PropertyChangeListener propertyChangeListenerJList
に添付されたPropertyChangeListener
。 -
cellHeights
protected int[] cellHeightsセルの高さの配列 -
cellHeight
protected int cellHeightセルの高さ。 -
cellWidth
protected int cellWidthセルの幅。 -
updateLayoutStateNeeded
protected int updateLayoutStateNeededこの値は、JList
モデルの変更を表します。 -
modelChanged
protected static final int modelChangedこのビットは、モデル変更プロパティに関連しています。- 関連項目:
-
selectionModelChanged
protected static final int selectionModelChangedビットは、選択モデルの変更されたプロパティに関連しています。- 関連項目:
-
fontChanged
protected static final int fontChangedビットは、フォント変更プロパティに関連しています。- 関連項目:
-
fixedCellWidthChanged
protected static final int fixedCellWidthChangedこのビットは、固定セル幅変更プロパティに関連しています。- 関連項目:
-
fixedCellHeightChanged
protected static final int fixedCellHeightChangedこのビットは、固定セル高さ変更プロパティに関連しています。- 関連項目:
-
prototypeCellValueChanged
protected static final int prototypeCellValueChangedこのビットは、プロトタイプ・セル値変更プロパティに関連しています。- 関連項目:
-
cellRendererChanged
protected static final int cellRendererChangedこのビットは、セル・レンダラ変更プロパティに関連しています。- 関連項目:
-
-
コンストラクタの詳細
-
BasicListUI
public BasicListUI()BasicListUI
を構築します。
-
-
メソッドの詳細
-
paintCell
protected void paintCell(Graphics g, int row, Rectangle rowBounds, ListCellRenderer<Object> cellRenderer, ListModel<Object> dataModel, ListSelectionModel selModel, int leadIndex) リスト・セルをペイント: 関連する状態をコンピュートし、"ラバー・スタンプ"セル・レンダラ・コンポーネントを取得し、CellRendererPane
を使用してペイントします。 サブクラスは、paint()
ではなくこのメソッドをオーバーライドしたい場合があります。- パラメータ:
g
-Graphics
のインスタンスrow
- 行rowBounds
- レンダリングする境界矩形cellRenderer
-ListCellRenderer
のリストdataModel
- リスト・モデルselModel
- 選択モデルleadIndex
- リード指数- 関連項目:
-
paint
public void paint(Graphics g, JComponent c) GraphicsオブジェクトclipRectと交差する行をペイントします。 このメソッドは、必要に応じてpaintCellを呼び出します。 サブクラスは、これらのメソッドをオーバーライドできます。- オーバーライド:
paint
、クラスComponentUI
- パラメータ:
g
- ペイント対象のGraphics
コンテキストc
- ペイントされるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
-
getBaseline
public int getBaseline(JComponent c, int width, int height) ベースラインを返します。- オーバーライド:
getBaseline
、クラスComponentUI
- パラメータ:
c
- ベースラインが要求されるJComponent
width
- ベースラインを取得する幅height
- ベースラインを取得する高さ- 戻り値:
- ベースラインまたは0より小さい値(適切なベースラインがないことを示す)
- 例外:
NullPointerException
-c
がnull
である場合IllegalArgumentException
- 幅または高さが0より小さい場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c) サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。- オーバーライド:
getBaselineResizeBehavior
、クラスComponentUI
- パラメータ:
c
- ベースラインのサイズ変更の動作を返すJComponent
- 戻り値:
- コンポーネント・サイズの変化に合わせてベースラインがどのように変化するかを示す列挙
- 例外:
NullPointerException
-c
がnull
である場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
getPreferredSize
public Dimension getPreferredSize(JComponent c) リストのpreferredSizeはレイアウト方向によって決まります。配置方向ごとに推奨サイズを記述します。 配置方向 推奨サイズ 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以下の場合、推奨される高さは列数によって決まります。
JList
の幅(幅/最大セル幅)に収まる数になります(1列以上)。 推奨される高さは、モデル・サイズ/列数*セルの最大の高さになります。 セルの最大の高さは、セルの固定の高さか、またはすべてのセルを反復してListCellRendererから最大の高さを見つけることによって決まります。Insets
はlist.getInsets()
から決まります。- オーバーライド:
getPreferredSize
、クラスComponentUI
- パラメータ:
c
- JListコンポーネント。- 戻り値:
- リストの総サイズ。
- 関連項目:
-
selectPreviousIndex
protected void selectPreviousIndex()前の行を選択して、それを強制的に可視にします。- 関連項目:
-
selectNextIndex
protected void selectNextIndex()前の行を選択して、それを強制的に可視にします。- 関連項目:
-
installKeyboardActions
protected void installKeyboardActions()BasicListUI
が関連付けられているJList
上のキーボード・バインディングを登録します。 このメソッドは、installUI()時に呼び出されます。- 関連項目:
-
uninstallKeyboardActions
protected void uninstallKeyboardActions()installKeyboardActions
からインストールされたキーボード・アクションの登録を解除します。 このメソッドは、uninstallUI()時に呼び出されます。サブクラスは、installUI時に登録されたすべてのキーボード・アクションがここで削除されるようにしてください。- 関連項目:
-
installListeners
protected void installListeners()JList、そのモデル、およびそのselectionModelのリスナーを作成およびインストールします。 このメソッドは、installUI()時に呼び出されます。- 関連項目:
-
uninstallListeners
protected void uninstallListeners()JList、そのモデル、およびそのselectionModelからリスナーを削除します。 すべてのリスナー・フィールドはここでnullにリセットされます。 このメソッドは、uninstallUI()時に呼び出されます。installListenersとの同期を保つようにしてください。- 関連項目:
-
installDefaults
protected void installDefaults()リストのプロパティ(フォント、フォアグラウンド、およびバックグラウンドなど)を初期化して、CellRendererPaneを追加します。 フォント、フォアグラウンド、およびバックグラウンド・プロパティは現在の値がnullまたはUIResourceの場合にだけ設定され、ほかのプロパティは現在の値がnullの場合に設定されます。- 関連項目:
-
uninstallDefaults
protected void uninstallDefaults()明示的にオーバーライドされていないリスト・プロパティをnull
に設定します。 現在の値がUIResource
でなければ、プロパティはオーバーライドされたと判断されます。- 関連項目:
-
installUI
public void installUI(JComponent c) installDefaults()
、installListeners()
、およびinstallKeyboardActions()
を順番に呼び出して、this.list
を初期化します。- オーバーライド:
installUI
、クラスComponentUI
- パラメータ:
c
- UI委譲がインストールされるコンポーネント- 関連項目:
-
uninstallUI
public void uninstallUI(JComponent c) uninstallListeners()
、uninstallKeyboardActions()
、およびuninstallDefaults()
を順番に呼び出して、this.list
の初期化を解除します。 this.listはnullに設定されます。- オーバーライド:
uninstallUI
、クラスComponentUI
- パラメータ:
c
- このUI委譲が削除されるコンポーネント。この引数は通常無視されるが、UIオブジェクトがステートレスで、複数のコンポーネントで共有されている場合は使用されることがある- 関連項目:
-
createUI
public static ComponentUI createUI(JComponent list) BasicListUI
の新しいインスタンスを返します。BasicListUI
デリゲートは、JList
ごとに1つ割り当てられます。- パラメータ:
list
- コンポーネント- 戻り値:
- Windowsのルック・アンド・フィールのための新しい
ListUI
実装。
-
locationToIndex
リストの座標系内の特定の位置にもっとも近い、指定されたJList
内のセル・インデックスを返します。 セルが実際にその指定された位置を含むかどうかを判定するには、その点と、getCellBounds
で提供されるセルの境界とを比較します。 このメソッドは、リストのモデルが空の場合、-1
を返します。- 定義:
locationToIndex
、クラスListUI
- パラメータ:
list
- リストlocation
- 点の座標- 戻り値:
- 指定された位置にもっとも近いセル・インデックス、または
-1
- 例外:
NullPointerException
-location
がnullである場合
-
indexToLocation
リストの座標系内の、指定された項目の特定のJList
内の原点を返します。 インデックスが無効な場合null
を返します。- 定義:
indexToLocation
、クラスListUI
- パラメータ:
list
- リストindex
- セルのインデックス- 戻り値:
- セルの原点、または
null
-
getCellBounds
2つのインデックスで指定されたセルの範囲を示す、指定されたリストの座標系内の境界矩形を返します。 これらのインデックスは、任意の順序で指定できます。小さいほうのインデックスがリストのセルの範囲外にある場合、このメソッドは
null
を返します。 小さいほうのインデックスが有効であっても、大きいほうのインデックスがリストの範囲外にある場合、最初のインデックスの境界だけが返されます。 そうでない場合、有効な範囲の境界が返されます。- 定義:
getCellBounds
、クラスListUI
- パラメータ:
list
- リストindex1
- 範囲の1番目のインデックスindex2
- 範囲の2番目のインデックス- 戻り値:
- セルの範囲を示す境界の矩形、または
null
-
getRowHeight
protected int getRowHeight(int row) 現在のレイアウトに基づいて、指定された行の高さを返します。- パラメータ:
row
- 行- 戻り値:
- 指定された行の高さ、または行が無効な場合は -1
- 関連項目:
-
convertYToRow
protected int convertYToRow(int y0) JList
の相対座標を、現在のレイアウトに基づいて、それを含む行に変換します。y0
がどの行にも含まれない場合は、 -1を返します。- パラメータ:
y0
- 相対的なY座標- 戻り値:
- y0または -1を含む行
- 関連項目:
-
convertRowToY
protected int convertRowToY(int row) 指定された行の原点のJList
相対Y座標、または行が無効な場合は -1を返します。- パラメータ:
row
- 行- 戻り値:
- 行の原点のY座標、または -1
- 関連項目:
-
maybeUpdateLayoutState
protected void maybeUpdateLayoutState()updateLayoutStateNeededがゼロでなければ、updateLayoutState()を呼び出してupdateLayoutStateNeededをリセットします。 このメソッドは、リストのジオメトリに基づく計算をする前のメソッドで呼び出すようにしてください。 たとえば、paint()およびgetPreferredSize()で最初に呼び出します。- 関連項目:
-
updateLayoutState
protected void updateLayoutState()cellHeight (またはcellHeights)およびcellWidthの値を、現在のフォントと、fixedCellWidth、fixedCellHeight、およびprototypeCellValueの現在の値を基にして計算し直します。- 関連項目:
-
createMouseInputListener
protected MouseInputListener createMouseInputListener()MouseInputListener
を実装するデリゲートを作成します。 デリゲートは、installUI()
時に対応するjava.awt.Component
リスナー・リストに追加されます。 サブクラスはこのメソッドをオーバーライドして、カスタムのMouseInputListener
を返すことができます。例:。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); } } }
- 戻り値:
MouseInputListener
のインスタンス- 関連項目:
-
createFocusListener
protected FocusListener createFocusListener()FocusListener
のインスタンスを返します。- 戻り値:
FocusListener
のインスタンス
-
createListSelectionListener
protected ListSelectionListener createListSelectionListener()必要に応じてselectionModelによってJLists
に追加されるListSelectionHandler
のインスタンスを作成します。 サブクラスはこのメソッドをオーバーライドして、カスタムのListSelectionListener
を返すことができます。例:。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); } } }
- 戻り値:
ListSelectionHandler
のインスタンス- 関連項目:
-
createListDataListener
protected ListDataListener createListDataListener()必要に応じて、モデルによってJLists
に追加されるListDataListener
のインスタンスを作成します。 サブクラスはこのメソッドをオーバーライドして、カスタムのListDataListener
を返すことができます。例:。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
のインスタンス- 関連項目:
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()installUI()
によってJList
に追加されるPropertyChangeHandler
のインスタンスを作成します。 サブクラスはこのメソッドをオーバーライドして、カスタムのPropertyChangeListener
を返すことができます。例:。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); } } }
- 戻り値:
PropertyChangeHandler
のインスタンス- 関連項目:
-