Class BasicListUI
- Direct Known Subclasses:
SynthListUI
public class BasicListUI extends ListUI
ListUI. Экземпляры BasicListUI не могут совместно использоваться несколькими списками.
Краткое описание вложенных классов
| Modifier and Type | Class | Description |
|---|---|---|
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. |
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
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. |
Краткое описание конструкторов
| Constructor | Description |
|---|---|
BasicListUI() |
Конструирует BasicListUI. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
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 |
Значение preferredSize списка зависит от ориентации компоновки. |
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 |
Отрисовывает одну ячейку списка: вычисляет соответствующее состояние, получает компонент отрисовки ячейки типа «штамп» и затем использует 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
Подробное описание полей
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 | Значение preferredSize списка представляет собой общую высоту строк и максимальную ширину ячеек. Если указано JList.fixedCellHeight, то общая высота строк равна просто (cellVerticalMargins + fixedCellHeight) * model.getSize(), где rowVerticalMargins — это пространство, выделяемое для рисования желтой рамки фокуса. Аналогично, если указано fixedCellWidth, то используется просто это значение. |
| JList.VERTICAL_WRAP | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * visibleRowCount. Если количество видимых строк <= 0, предпочтительная высота равна либо текущей высоте списка, либо максимальной высоте ячейки, в зависимости от того, что больше. Предпочтительная ширина равна максимальной ширине ячейки * необходимое количество столбцов. Где необходимое количество столбцов равно list.height / максимальная высота ячейки. Максимальная высота ячейки — это либо фиксированная высота ячейки, либо значение, определяемое перебором всех ячеек для поиска максимальной высоты из ListCellRenderer. |
| JList.HORIZONTAL_WRAP | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * adjustedRowCount. Где visibleRowCount используется для определения количества столбцов. Поскольку компоновка выполняется горизонтально, количество строк затем определяется из количества столбцов. Например, предположим, что у вас есть модель с 10 элементами, а количество видимых строк равно 8. Количество столбцов, необходимое для отображения, равно 2, но для этого вам больше не нужно 8 строк, требуется только 5, таким образом adjustedRowCount равен 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(). Устанавливает this.list в null.- Переопределяет:
-
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 через 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);
}
}
}
- Возвращает:
- экземпляр
ListSelectionHandler - См. также:
createListDataListener
protected ListDataListener createListDataListener()
ListDataListener, который при необходимости добавляется в JLists через model. Подклассы могут переопределить этот метод для возврата пользовательского 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/plaf/basic/BasicListUI.html