Класс BasicListUI
- Прямые известные подклассы:
SynthListUI
public class BasicListUI extends ListUI
ListUI. BasicListUI экземпляры не могут быть совместно использованы между несколькими списками.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
BasicListUI.FocusHandler |
Этот класс следует рассматривать как "защищённый" вложенный класс. |
class |
BasicListUI.ListDataHandler |
ListDataListener, добавляемый к модели JLists в момент installUI time, и всякий раз, когда изменяется свойство JList.model. |
class |
BasicListUI.ListSelectionHandler |
ListSelectionListener, добавляемый к модели выделения JList в момент установки UI и при каждом изменении свойства JList.selectionModel. |
class |
BasicListUI.MouseInputHandler |
Обработка ввода мыши и фокуса для JList. |
class |
BasicListUI.PropertyChangeHandler |
PropertyChangeListener, добавляемый к JList в момент установки UI. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
cellHeight |
Высота ячейки. |
protected int[] |
cellHeights |
Массив высот ячеек. |
protected static final int |
cellRendererChanged |
Флаг, связанный со свойством изменения отрисовщика ячеек. |
protected int |
cellWidth |
Ширина ячейки. |
protected static final int |
fixedCellHeightChanged |
Флаг, связанный со свойством изменения фиксированной высоты ячейки. |
protected static final int |
fixedCellWidthChanged |
Флаг, связанный со свойством изменения фиксированной ширины ячейки. |
protected FocusListener |
focusListener |
FocusListener прикрепленный к JList. |
protected static final int |
fontChanged |
Флаг, связанный со свойством изменения шрифта. |
protected JList |
list |
Экземпляр JList. |
protected ListDataListener |
listDataListener |
ListDataListener прикрепленный к JList. |
protected ListSelectionListener |
listSelectionListener |
ListSelectionListener прикрепленный к JList. |
protected static final int |
modelChanged |
Флаг, связанный со свойством изменения модели. |
protected MouseInputListener |
mouseInputListener |
MouseInputListener прикрепленный к JList. |
protected PropertyChangeListener |
propertyChangeListener |
PropertyChangeListener прикрепленный к JList. |
protected static final int |
prototypeCellValueChanged |
Флаг, связанный со свойством изменения прототипного значения ячейки. |
protected CellRendererPane |
rendererPane |
Экземпляр CellRendererPane. |
protected static final int |
selectionModelChanged |
Флаг, связанный со свойством изменения модели выделения. |
protected int |
updateLayoutStateNeeded |
Значение, отражающее изменения в модели JList. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicListUI() |
Создаёт BasicListUI. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
protected int |
convertRowToY |
Возвращает относительную Y-координату начала указанной строки, или -1, если строка недействительна. |
protected int |
convertYToRow |
Преобразует относительную координату к строке, содержащей ее, на основе текущего макета. |
protected FocusListener |
createFocusListener() |
Возвращает экземпляр FocusListener. |
protected ListDataListener |
createListDataListener() |
Создаёт экземпляр ListDataListener, который добавляется в JLists моделью по мере необходимости. |
protected ListSelectionListener |
createListSelectionListener() |
Создаёт экземпляр ListSelectionHandler, который добавляется в JLists моделью выбора по мере необходимости. |
protected MouseInputListener |
createMouseInputListener() |
Создаёт делегат, реализующий MouseInputListener. |
protected PropertyChangeListener |
createPropertyChangeListener() |
Создаёт экземпляр PropertyChangeHandler, который добавляется в JList посредством installUI(). |
static ComponentUI |
createUI |
Возвращает новый экземпляр BasicListUI. |
int |
getBaseline |
Возвращает линию базовых элементов. |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior |
Возвращает перечисление, указывающее, как изменяется базовая линия компонента при изменении размера. |
Rectangle |
getCellBounds |
Возвращает прямоугольник ограничивающей области в системе координат заданного списка для диапазона ячеек, определённого двумя индексами. |
Dimension |
getPreferredSize |
Предпочтительный размер списка зависит от ориентации макета. |
protected int |
getRowHeight |
Возвращает высоту указанной строки на основе текущего макета. |
Point |
indexToLocation |
Возвращает начало указанного элемента в заданной системе координат, в системе координат списка. |
protected void |
installDefaults() |
Инициализирует свойства списка, такие как шрифт, цвет текста и фон, а также добавляет CellRendererPane. |
protected void |
installKeyboardActions() |
Регистрирует привязки клавиатуры к JList, с которым связан BasicListUI. |
protected void |
installListeners() |
Создаёт и устанавливает слушатели для JList, его модели и модели выбора. |
void |
installUI |
Инициализирует this.list, вызывая installDefaults(), installListeners(), и installKeyboardActions() в указанном порядке. |
int |
locationToIndex |
Возвращает индекс ячейки в указанном JList, ближайшей к заданному местоположению в системе координат списка. |
protected void |
maybeUpdateLayoutState() |
Если updateLayoutStateNeeded не равно нулю, вызовите updateLayoutState() и сбросьте updateLayoutStateNeeded. |
void |
paint |
Отображает строки, пересекающие прямоугольник обрезки объекта Graphics. |
protected void |
paintCell |
Отображает одну ячейку списка: вычисляет соответствующее состояние, получает компонент рендеринга ячейки "штамп", а затем использует CellRendererPane для его отображения. |
protected void |
selectNextIndex() |
Выделяет предыдущую строку и заставляет её быть видимой. |
protected void |
selectPreviousIndex() |
Выделяет предыдущую строку и заставляет её быть видимой. |
protected void |
uninstallDefaults() |
Устанавливает свойства списка, которые не были явно переопределены, в null. |
protected void |
uninstallKeyboardActions() |
Отменяет регистрацию действий клавиатуры, установленных из installKeyboardActions. |
protected void |
uninstallListeners() |
Удаляет слушателей из JList, его модели и модели выбора. |
void |
uninstallUI |
Деинициализирует this.list, вызывая uninstallListeners(), uninstallKeyboardActions(), и uninstallDefaults() в указанном порядке. |
protected void |
updateLayoutState() |
Перевычисляет значение cellHeight или cellHeights, основываясь на cellWidth, текущем шрифте и текущих значениях fixedCellWidth, fixedCellHeight и prototypeCellValue. |
Методы, объявленные в классе javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update
Подробное описание полей
list
protected JList<Object> list
JList.rendererPane
protected CellRendererPane rendererPane
CellRendererPane.focusListener
protected FocusListener focusListener
FocusListener прикреплённый к JList.mouseInputListener
protected MouseInputListener mouseInputListener
MouseInputListener прикреплённый к JList.listSelectionListener
protected ListSelectionListener listSelectionListener
ListSelectionListener прикреплённый к JList.listDataListener
protected ListDataListener listDataListener
ListDataListener прикреплённый к JList.propertyChangeListener
protected PropertyChangeListener propertyChangeListener
PropertyChangeListener прикреплённый к JList.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- рендерер ячейки -
dataModel- модель списка -
selModel- модель выделения -
leadIndex- индекс ведущей строки - См. также:
paint
public void paint(Graphics g, JComponent c)
- Переопределяет:
-
paintв классеComponentUI - Параметры:
-
g- контекст отрисовки -
c- компонент, который отрисовывается; этот аргумент часто игнорируется, но может использоваться, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
getBaseline
public int getBaseline(JComponent c, int width, int height)
- Переопределяет:
-
getBaselineв классеComponentUI - Параметры:
-
c- компонент, для которого запрашивается базовая линия -
width- высота для вычисления базовой линии - Возвращает:
- базовую линию или значение < 0, если базовая линия не может быть определена
- Исключения:
-
NullPointerException- еслиcне являетсяnull -
IllegalArgumentException- если ширина или высота меньше 0 - См. также:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
- Переопределяет:
-
getBaselineResizeBehaviorв классеComponentUI - Параметры:
-
c- компонент, для которого запрашивается поведение изменения базовой линии при изменении размера - Возвращает:
- перечисление, указывающее, как базовая линия изменяется при изменении размера компонента
- Исключения:
-
NullPointerException- еслиcне являетсяnull - См. также:
getPreferredSize
public Dimension getPreferredSize(JComponent c)
| Ориентация компоновки | Предпочтительный размер |
|---|---|
| JList.VERTICAL | Предпочтительный размер списка — это общая высота строк и максимальная ширина ячеек. Если задан JList.fixedCellHeight, то общая высота строк составляет (cellVerticalMargins + fixedCellHeight) * model.getSize(), где rowVerticalMargins — это отступ, выделенный для рисования жёлтой рамки фокуса. Аналогично, если задан fixedCellWidth, то используется только он. |
| JList.VERTICAL_WRAP | Если количество видимых строк больше нуля, preferredHeight — это максимальная высота ячейки * видимое количество строк. Если количество видимых строк меньше или равно 0, предпочтительная высота — это либо текущая высота списка, либо максимальная высота ячейки, whichever is bigger. Предпочтительная ширина — это максимальная ширина ячейки * количество необходимых столбцов. Количество необходимых столбцов — это list.height / максимальная высота ячейки. Максимальная высота ячейки — это либо фиксированная высота ячейки, либо определяется путем итерации по всем ячейкам для поиска максимальной высоты с помощью ListCellRenderer. |
| JList.HORIZONTAL_WRAP | Если количество видимых строк больше нуля, preferredHeight — это максимальная высота ячейки * скорректированное количество строк. Где видимое количество строк используется для определения количества столбцов. Поскольку это компоновка по горизонтали, количество строк затем определяется из количества столбцов. Например, предположим, что у вас есть модель с 10 элементами, а видимое количество строк — 8. Количество необходимых столбцов для отображения — 2, но вам больше не нужны 8 строк для отображения, вам нужны только 5, следовательно, скорректированное количество строк — 5. Если количество видимых строк меньше или равно 0, предпочтительная высота определяется количеством столбцов, которое будет равно количеству, которое поместится в ширину |
Insets определяются из list.getInsets().- Overrides:
-
getPreferredSizeв классеComponentUI - Parameters:
-
c- Компонент JList. - Returns:
- Общий размер списка.
- See Also:
selectPreviousIndex
protected void selectPreviousIndex()
- See Also:
selectNextIndex
protected void selectNextIndex()
- See Also:
installKeyboardActions
protected void installKeyboardActions()
JList, с которым связан BasicListUI. Этот метод вызывается во время installUI().- See Also:
uninstallKeyboardActions
protected void uninstallKeyboardActions()
installKeyboardActions. Этот метод вызывается во время uninstallUI() — подклассы должны гарантировать, что все сочетания клавиш, зарегистрированные в installUI, удалены здесь.- See Also:
installListeners
protected void installListeners()
- See Also:
uninstallListeners
protected void uninstallListeners()
- See Also:
installDefaults
protected void installDefaults()
- See Also:
uninstallDefaults
protected void uninstallDefaults()
null. Свойство считается переопределённым, если его текущее значение не является UIResource. - See Also:
installUI
public void installUI(JComponent c)
this.list, вызвав installDefaults(), installListeners(), и installKeyboardActions() в указанном порядке.- Overrides:
-
installUIв классеComponentUI - Parameters:
-
c- компонент, в котором устанавливается этот делегат пользовательского интерфейса - See Also:
uninstallUI
public void uninstallUI(JComponent c)
this.list, вызвав uninstallListeners(), uninstallKeyboardActions(), и uninstallDefaults() в указанном порядке. Устанавливает this.list в null.- Overrides:
-
uninstallUIв классеComponentUI - Parameters:
-
c- компонент, из которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - See Also:
createUI
public static ComponentUI createUI(JComponent list)
BasicListUI. Делегаты BasicListUI выделяются по одному на каждый JList.- Parameters:
-
list- компонент - Returns:
- новая реализация
ListUIдля темы Windows.
locationToIndex
public int locationToIndex(JList<?> list, Point location)
JList , наиболее близкой к заданному расположению в системе координат списка. Чтобы определить, действительно ли ячейка содержит указанное расположение, сравните точку с границами ячейки, как предоставляет getCellBounds. Этот метод возвращает -1 если модель списка пуста.- Specified by:
-
locationToIndexв классеListUI - Parameters:
-
list- список -
location- координаты точки - Returns:
- индекс ячейки, наиболее близкий к заданному расположению, или
-1 - Throws:
-
NullPointerException- еслиlocationравно null
indexToLocation
public Point indexToLocation(JList<?> list, int index)
JList, указанного элемента, в системе координат списка. Возвращает null если индекс недействителен.- Specified by:
-
indexToLocationв классеListUI - Parameters:
-
list- список -
index- индекс ячейки - Returns:
- начало ячейки, или
null
getCellBounds
public Rectangle getCellBounds(JList<?> list, int index1, int index2)
Если меньший индекс находится вне диапазона ячеек списка, этот метод возвращает null. Если меньший индекс допустим, но больший индекс находится вне диапазона списка, возвращаются границы только первого индекса. В противном случае возвращаются границы допустимого диапазона.
- Specified by:
-
getCellBoundsв классеListUI - Parameters:
-
list- список -
index1- первый индекс в диапазоне -
index2- второй индекс в диапазоне - Returns:
- прямоугольник границ диапазона ячеек или
null
getRowHeight
protected int getRowHeight(int row)
- Parameters:
-
row- строка - Returns:
- высота указанной строки или -1, если строка недействительна
- See Also:
convertYToRow
protected int convertYToRow(int y0)
JList в строку, содержащую ее, на основе текущего макета. Если y0 не попадает ни в одну строку, возвращает -1.- Parameters:
-
y0- относительная координата Y - Returns:
- строка, содержащая y0, или -1
- See Also:
convertRowToY
protected int convertRowToY(int row)
- Parameters:
-
row- строка - Returns:
- координата Y начала строки или -1
- See Also:
maybeUpdateLayoutState
protected void maybeUpdateLayoutState()
- See Also:
updateLayoutState
protected void updateLayoutState()
- See Also:
createMouseInputListener
protected MouseInputListener createMouseInputListener()
MouseInputListener. Делегат добавляется в соответствующие списки слушателей java.awt.Component в момент installUI(). Подклассы могут переопределять этот метод, чтобы вернуть настраиваемого 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);
}
}
}
- Returns:
- экземпляр
MouseInputListener - See Also:
createFocusListener
protected FocusListener createFocusListener()
FocusListener.- Returns:
- экземпляр
FocusListener
createListSelectionListener
protected ListSelectionListener createListSelectionListener()
ListSelectionHandler , который добавляется к JLists моделью selectionModel по мере необходимости. Подклассы могут переопределить этот метод, чтобы вернуть настраиваемого 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);
}
}
}
- Returns:
- экземпляр
ListSelectionHandler - See Also:
createListDataListener
protected ListDataListener createListDataListener()
ListDataListener, который добавляется к JLists моделью по мере необходимости. Подклассы могут переопределить этот метод, чтобы вернуть настраиваемого 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);
}
}
}
- Returns:
- экземпляр
ListDataListener - See Also:
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
PropertyChangeHandler, который добавляется к JList installUI(). Подклассы могут переопределить этот метод, чтобы вернуть настраиваемого 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);
}
}
}
- Returns:
- экземпляр
PropertyChangeHandler - See Also:
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/basic/BasicListUI.html