Класс BasicListUI
- Прямые известные подклассы:
SynthListUI
public class BasicListUI extends ListUI
ListUI. Экземпляры BasicListUI нельзя использовать совместно в нескольких списках.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
BasicListUI.FocusHandler |
Этот класс следует рассматривать как внутренний класс с модификатором «protected». |
class |
BasicListUI.ListDataHandler |
ListDataListener, добавляемый к модели JLists при installUI time, а также при каждом изменении свойства JList.model. |
class |
BasicListUI.ListSelectionHandler |
ListSelectionListener, добавляемый к модели выбора JList во время вызова installUI, а также при каждом изменении свойства JList.selectionModel. |
class |
BasicListUI.MouseInputHandler |
Обработка ввода мыши и фокуса для JList. |
class |
BasicListUI.PropertyChangeHandler |
PropertyChangeListener, добавляемый к JList во время вызова installUI. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
cellHeight |
Высота ячейки. |
protected int[] |
cellHeights |
Массив высот ячеек |
protected static final int |
cellRendererChanged |
Флаг, связанный с изменением свойства renderer ячейки. |
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. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected int |
convertRowToY |
Возвращает относительную координату Y JList начала указанной строки или -1, если строка недопустима. |
protected int |
convertYToRow |
Преобразует относительную координату JList в содержащую её строку на основе текущей компоновки. |
protected FocusListener |
createFocusListener() |
Возвращает экземпляр FocusListener. |
protected ListDataListener |
createListDataListener() |
Создаёт экземпляр ListDataListener, который добавляется в JLists моделью по мере необходимости. |
protected ListSelectionListener |
createListSelectionListener() |
Создаёт экземпляр ListSelectionHandler, который добавляется в JLists через selectionModel по мере необходимости. |
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 |
Возвращает начало указанного элемента в заданном JList в системе координат списка. |
protected void |
installDefaults() |
Инициализирует свойства списка, такие как шрифт, цвет текста и цвет фона, и добавляет CellRendererPane. |
protected void |
installKeyboardActions() |
Регистрирует привязки клавиатуры для JList, с которым связан BasicListUI. |
protected void |
installListeners() |
Создаёт и устанавливает слушатели для JList, его модели и selectionModel. |
void |
installUI |
Инициализирует this.list, последовательно вызывая installDefaults(), installListeners() и installKeyboardActions(). |
int |
locationToIndex |
Возвращает индекс ячейки в указанном JList, ближайшей к заданной точке в системе координат списка. |
protected void |
maybeUpdateLayoutState() |
Если updateLayoutStateNeeded не равен нулю, вызывает updateLayoutState() и сбрасывает updateLayoutStateNeeded. |
void |
paint |
Отрисовывает строки, пересекающиеся с clipRect объекта Graphics. |
protected void |
paintCell |
Отрисовывает одну ячейку списка: вычисляет необходимые параметры состояния, получает компонент renderer ячейки — «резиновый штамп», — а затем использует CellRendererPane для его отрисовки. |
protected void |
selectNextIndex() |
Выбирает предыдущую строку и обеспечивает её видимость. |
protected void |
selectPreviousIndex() |
Выбирает предыдущую строку и обеспечивает её видимость. |
protected void |
uninstallDefaults() |
Задаёт свойства списка, для которых не были явно переопределены значения, равными null. |
protected void |
uninstallKeyboardActions() |
Отменяет регистрацию действий клавиатуры, установленных из installKeyboardActions. |
protected void |
uninstallListeners() |
Удаляет слушатели из JList, его модели и selectionModel. |
void |
uninstallUI |
Деинициализирует this.list, последовательно вызывая uninstallListeners(), uninstallKeyboardActions() и uninstallDefaults(). |
protected void |
updateLayoutState() |
Пересчитывает значение cellHeight или cellHeights и cellWidth на основе текущего шрифта и текущих значений fixedCellWidth, fixedCellHeight и prototypeCellValue. |
Методы, объявленные в классе ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, update | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Возвращает true, если указанная точка x,y находится внутри фигуры компонента, заданной текущим оформлением. |
Accessible |
getAccessibleChild |
Возвращает дочерний объект с индексом i среди Accessible дочерних объектов данного объекта. |
int |
getAccessibleChildrenCount |
Возвращает количество доступных дочерних объектов данного объекта. |
Dimension |
getMaximumSize |
Возвращает максимальный размер указанного компонента, соответствующий текущему оформлению. |
Dimension |
getMinimumSize |
Возвращает минимальный размер указанного компонента, соответствующий текущему оформлению. |
void |
update |
Уведомляет этот делегат пользовательского интерфейса о том, что пора отрисовать указанный компонент. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Проверяет, «равен ли» этот объект другому объекту. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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— списокListCellRenderer -
dataModel— модель списка -
selModel— модель выбора -
leadIndex— ведущий индекс - См. также:
paint
public void paint(Graphics g, JComponent c)
- Переопределяет:
-
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)
| Ориентация компоновки | Предпочтительный размер |
|---|---|
| JList.VERTICAL | Предпочтительный размер списка равен суммарной высоте строк и максимальной ширине ячеек. Если задано JList.fixedCellHeight, суммарная высота строк равна (cellVerticalMargins + fixedCellHeight) * model.getSize(), где rowVerticalMargins — пространство, отводимое для отрисовки жёлтого контура фокуса. Аналогично, если задано fixedCellWidth, используется именно это значение. |
| JList.VERTICAL_WRAP | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * visibleRowCount. Если количество видимых строк <= 0, предпочтительная высота равна текущей высоте списка или максимальной высоте ячейки — в зависимости от того, какая из них больше. Предпочтительная ширина равна максимальной ширине ячейки * количеству необходимых столбцов. Количество необходимых столбцов определяется как list.height / максимальная высота ячейки. Максимальная высота ячейки равна фиксированной высоте ячейки либо определяется перебором всех ячеек для поиска максимальной высоты, возвращаемой ListCellRenderer. |
| JList.HORIZONTAL_WRAP | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * скорректированному количеству строк. Количество видимых строк используется для определения числа столбцов. Поскольку компоновка выполняется по горизонтали, число строк определяется количеством столбцов. Например, предположим, что модель содержит 10 элементов, а количество видимых строк равно 8. Для их отображения требуется 2 столбца, но уже не нужно 8 строк — достаточно 5, поэтому скорректированное количество строк равно 5. Если количество видимых строк <= 0, предпочтительная высота определяется количеством столбцов: их будет столько, сколько помещается по ширине |
Insets определяются из list.getInsets().- Переопределяет:
-
getPreferredSizeв классеComponentUI - Параметры:
-
c— компонент JList. - Возвращает:
- Полный размер списка.
- См. также:
selectPreviousIndex
protected void selectPreviousIndex()
- См. также:
selectNextIndex
protected void selectNextIndex()
- См. также:
installKeyboardActions
protected void installKeyboardActions()
JList, с которым связан BasicListUI. Этот метод вызывается во время installUI().- См. также:
uninstallKeyboardActions
protected void uninstallKeyboardActions()
installKeyboardActions. Этот метод вызывается во время uninstallUI(); подклассы должны обеспечить удаление всех действий клавиатуры, зарегистрированных во время installUI.- См. также:
installListeners
protected void installListeners()
- См. также:
uninstallListeners
protected void uninstallListeners()
- См. также:
installDefaults
protected void installDefaults()
- См. также:
uninstallDefaults
protected void uninstallDefaults()
null. Свойство считается переопределённым, если его текущее значение не является UIResource.- См. также:
installUI
public void installUI(JComponent c)
this.list, последовательно вызывая installDefaults(), installListeners() и installKeyboardActions().- Переопределяет:
-
installUIв классеComponentUI - Параметры:
-
c— компонент, для которого устанавливается этот делегат UI - См. также:
uninstallUI
public void uninstallUI(JComponent c)
this.list, последовательно вызывая uninstallListeners(), uninstallKeyboardActions() и uninstallDefaults(). Задаёт null для this.list.- Переопределяет:
-
uninstallUIв классеComponentUI - Параметры:
-
c— компонент, из которого удаляется этот делегат UI; этот аргумент часто игнорируется, но может использоваться, если объект UI не содержит состояния и совместно используется несколькими компонентами - См. также:
createUI
public static ComponentUI createUI(JComponent list)
BasicListUI. Делегаты BasicListUI создаются по одному на каждый JList.- Параметры:
-
list— компонент - Возвращает:
- новую реализацию
ListUIдля оформления Windows.
locationToIndex
public int locationToIndex(JList<?> list, Point location)
JList, ближайшей к заданной точке в системе координат списка. Чтобы определить, действительно ли ячейка содержит указанную точку, сравните эту точку с границами ячейки, возвращаемыми методом getCellBounds. Если модель списка пуста, этот метод возвращает -1.- Определён в:
-
locationToIndexв классеListUI - Параметры:
-
list— список -
location— координаты точки - Возвращает:
- индекс ячейки, ближайшей к заданной точке, или
-1 - Исключения:
-
NullPointerException— еслиlocationравно null
indexToLocation
public Point indexToLocation(JList<?> list, int index)
JList в системе координат списка. Если индекс недопустим, возвращает null.- Определён в:
-
indexToLocationв классеListUI - Параметры:
-
list— список -
index— индекс ячейки - Возвращает:
- начало ячейки или
null
getCellBounds
public Rectangle getCellBounds(JList<?> list, int index1, int index2)
Если меньший индекс выходит за пределы диапазона ячеек списка, этот метод возвращает null. Если меньший индекс допустим, но больший выходит за пределы диапазона списка, возвращаются границы только первой ячейки. В противном случае возвращаются границы допустимого диапазона.
- Определён в:
-
getCellBoundsв классеListUI - Параметры:
-
list— список -
index1— первый индекс диапазона -
index2— второй индекс диапазона - Возвращает:
- ограничивающий прямоугольник диапазона ячеек или
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 начала указанной строки или -1, если строка недопустима.- Параметры:
-
row— строка - Возвращает:
- координату Y начала строки или -1
- См. также:
maybeUpdateLayoutState
protected void maybeUpdateLayoutState()
- См. также:
updateLayoutState
protected void updateLayoutState()
- См. также:
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);
}
}
}
- Возвращает:
- экземпляр
MouseInputListener - См. также:
createFocusListener
protected FocusListener createFocusListener()
FocusListener.- Возвращает:
- экземпляр
FocusListener
createListSelectionListener
protected ListSelectionListener createListSelectionListener()
ListSelectionHandler, который при необходимости добавляется в JLists моделью выбора. Подклассы могут переопределить этот метод, чтобы вернуть пользовательский 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()
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);
}
}
}
- Возвращает:
- экземпляр
ListDataListener - См. также:
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);
}
}
}
- Возвращает:
- экземпляр
PropertyChangeHandler - См. также:
© 1993, 2025, 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.