Класс 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 в момент установки интерфейса и при каждом изменении свойства JList.selectionModel. |
class |
BasicListUI.MouseInputHandler |
Обработка событий мыши и фокуса для JList. |
class |
BasicListUI.PropertyChangeHandler |
Слушатель PropertyChangeListener, добавляемый к JList при установке интерфейса. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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<Object> |
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 начала указанной строки или -1, если строка недействительна. |
protected int |
convertYToRow |
Преобразует относительную координату к строке, которая ее содержит, на основе текущего макета. |
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 |
Отображает строки, пересекающие область обрезки объекта 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. |
Методы, объявленные в классе 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)
paint().- Параметры:
-
g- экземплярGraphics -
row- номер строки -
rowBounds- прямоугольник для отрисовки -
cellRenderer- рендерер ячейки -
dataModel- модель списка -
selModel- модель выделения -
leadIndex- индекс ведущей строки - См. также:
paint
public void paint(Graphics g, JComponent c)
- Переопределяет:
-
paintв классеComponentUI - Параметры:
-
g- контекст отрисовки -
c- компонент, который отрисовывается - См. также:
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 | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * количество видимых строк. Если количество видимых строк меньше или равно 0, предпочтительная высота равна либо текущей высоте списка, либо максимальной высоте ячейки, в зависимости от того, какая больше. Предпочтительная ширина — это максимальная ширина ячейки * количество необходимых столбцов. Где количество необходимых столбцов — это list.height / максимальная высота ячейки. Максимальная высота ячейки — это либо фиксированная высота ячейки, либо определяется итерацией по всем ячейкам для поиска максимальной высоты от ListCellRenderer. |
| JList.HORIZONTAL_WRAP | Если количество видимых строк больше нуля, предпочтительная высота равна максимальной высоте ячейки * изменённому количеству строк. Где visibleRowCount используется для определения количества столбцов. Поскольку это выстраивание по горизонтали, количество строк затем определяется по количеству столбцов. Например, предположим, что у вас есть модель с 10 элементами, а видимое количество строк равно 8. Количество необходимых столбцов для отображения этого — 2, но вам больше не нужны 8 строк для отображения этого, вам нужны только 5, следовательно, изменённое количество строк (adjustedRowCount) равно 5. Если количество видимых строк меньше или равно 0, предпочтительная высота определяется количеством столбцов, которое будет равно количеству столбцов, которые могут поместиться в ширине |
Insets определяются из list.getInsets().- Overrides:
-
getPreferredSizein classComponentUI - Parameters:
-
c- The JList component. - 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()
uninstallListeners
protected void uninstallListeners()
installDefaults
protected void installDefaults()
uninstallDefaults
protected void uninstallDefaults()
installUI
public void installUI(JComponent c)
this.list, вызвав installDefaults(), installListeners(), и installKeyboardActions() в порядке.- Overrides:
-
installUIin classComponentUI - Parameters:
-
c- the component where this UI delegate is being installed - See Also:
uninstallUI
public void uninstallUI(JComponent c)
this.list, вызвав uninstallListeners(), uninstallKeyboardActions(), и uninstallDefaults() в порядке. Устанавливает this.list в null.- Overrides:
-
uninstallUIin classComponentUI - Parameters:
-
c- the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - See Also:
createUI
public static ComponentUI createUI(JComponent list)
BasicListUI. Делегирования BasicListUI выделяются по одному на каждый JList. - Parameters:
-
list- a component - Returns:
- a new
ListUIimplementation for the Windows look and feel.
locationToIndex
public int locationToIndex(JList<?> list, Point location)
JList , ближайшей к заданной позиции в системе координат списка. Чтобы определить, действительно ли ячейка содержит указанную позицию, сравните точку с границами ячейки, предоставленными getCellBounds. Этот метод возвращает -1 , если модель списка пуста.- Specified by:
-
locationToIndexin classListUI - Parameters:
-
list- the list -
location- the coordinates of the point - Returns:
- индекс ячейки, ближайшей к заданной позиции, или
-1 - Throws:
-
NullPointerException- iflocationis null
indexToLocation
public Point indexToLocation(JList<?> list, int index)
JList, указанного элемента в системе координат списка. Возвращает null , если индекс недействителен.- Specified by:
-
indexToLocationin classListUI - Parameters:
-
list- the list -
index- the cell index - Returns:
- начало ячейки, или
null
getCellBounds
public Rectangle getCellBounds(JList<?> list, int index1, int index2)
Если меньший индекс находится вне диапазона ячеек списка, этот метод возвращает null. Если меньший индекс корректен, но больший индекс находится вне диапазона, возвращаются границы только первого индекса. В противном случае возвращаются границы допустимого диапазона.
- Specified by:
-
getCellBoundsin classListUI - 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 выбором модели по мере необходимости. Подклассы могут переопределять этот метод, чтобы возвращать настраиваемого 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, 2021, 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/17/docs/api/java.desktop/javax/swing/plaf/basic/BasicListUI.html