クラスBasicListUI
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」内部クラスとして扱うようにしてください。classinstallUI timeのJListsモデルに追加され、JList.modelプロパティが変更されるたびに追加されるListDataListener。classinstallUI時およびJList.selectionModelプロパティ変更時にJLists選択モデルに追加されるListSelectionListenerです。classJListのためのマウス入力およびフォーカス処理です。classinstallUI時にJListに追加されるPropertyChangeListenerです。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明protected intセルの高さ。protected int[]セルの高さの配列protected static final intこのビットは、セル・レンダラ変更プロパティに関連しています。protected intセルの幅。protected static final intこのビットは、固定セル高さ変更プロパティに関連しています。protected static final intこのビットは、固定セル幅変更プロパティに関連しています。protected FocusListenerJListに添付されたFocusListener。protected static final intビットは、フォント変更プロパティに関連しています。JListのインスタンス。protected ListDataListenerJListに添付されたListDataListener。protected ListSelectionListenerJListに添付されたListSelectionListener。protected static final intこのビットは、モデル変更プロパティに関連しています。protected MouseInputListenerJListに添付されたMouseInputListener。protected PropertyChangeListenerJListに添付されたPropertyChangeListener。protected static final intこのビットは、プロトタイプ・セル値変更プロパティに関連しています。protected CellRendererPaneCellRendererPaneのインスタンス。protected static final intビットは、選択モデルの変更されたプロパティに関連しています。protected intこの値は、JListモデルの変更を表します。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明protected intconvertRowToY(int row) 指定された行の原点のJList相対Y座標、または行が無効な場合は -1を返します。protected intconvertYToRow(int y0) JListの相対座標を、現在のレイアウトに基づいて、それを含む行に変換します。protected FocusListenerFocusListenerのインスタンスを返します。protected ListDataListener必要に応じて、モデルによってJListsに追加されるListDataListenerのインスタンスを作成します。protected ListSelectionListener必要に応じてselectionModelによってJListsに追加されるListSelectionHandlerのインスタンスを作成します。protected MouseInputListenerMouseInputListenerを実装するデリゲートを作成します。protected PropertyChangeListenerinstallUI()によってJListに追加されるPropertyChangeHandlerのインスタンスを作成します。static ComponentUIcreateUI(JComponent list) BasicListUIの新しいインスタンスを返します。intgetBaseline(JComponent c, int width, int height) ベースラインを返します。サイズの変化に合わせてコンポーネントのベースラインがどのように変化するかを示す列挙を返します。getCellBounds(JList<?> list, int index1, int index2) 2つのインデックスで指定されたセルの範囲を示す、指定されたリストの座標系内の境界矩形を返します。リストのpreferredSizeはレイアウト方向によって決まります。protected intgetRowHeight(int row) 現在のレイアウトに基づいて、指定された行の高さを返します。indexToLocation(JList<?> list, int index) リストの座標系内の、指定された項目の特定のJList内の原点を返します。protected voidリストのプロパティ(フォント、フォアグラウンド、およびバックグラウンドなど)を初期化して、CellRendererPaneを追加します。protected voidBasicListUIが関連付けられているJList上のキーボード・バインディングを登録します。protected voidJList、そのモデル、およびそのselectionModelのリスナーを作成およびインストールします。voidinstallDefaults()、installListeners()、およびinstallKeyboardActions()を順番に呼び出して、this.listを初期化します。intlocationToIndex(JList<?> list, Point location) リストの座標系内の特定の位置にもっとも近い、指定されたJList内のセル・インデックスを返します。protected voidupdateLayoutStateNeededがゼロでなければ、updateLayoutState()を呼び出してupdateLayoutStateNeededをリセットします。voidpaint(Graphics g, JComponent c) GraphicsオブジェクトclipRectと交差する行をペイントします。protected voidpaintCell(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 voidinstallKeyboardActionsからインストールされたキーボード・アクションの登録を解除します。protected voidJList、そのモデル、およびそのselectionModelからリスナーを削除します。voiduninstallListeners()、uninstallKeyboardActions()、およびuninstallDefaults()を順番に呼び出して、this.listの初期化を解除します。protected voidcellHeight (またはcellHeights)およびcellWidthの値を、現在のフォントと、fixedCellWidth、fixedCellHeight、およびprototypeCellValueの現在の値を基にして計算し直します。クラスjavax.swing.plaf.ComponentUIで宣言されたメソッド
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update
-
フィールド詳細
-
list
-
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- ベースラインが要求されるJComponentwidth- ベースラインを取得する幅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はレイアウト方向によって決まります。
上記は、生の推奨される幅と高さです。 結果の推奨される幅は、上記の幅+insets.left+insets.right、結果の推奨される高さは、上記の高さ+insets.top+insets.bottomです。配置方向ごとに推奨サイズを記述します。 配置方向 推奨サイズ 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
-
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のインスタンス- 関連項目:
-