Класс BasicComboBoxUI
- Прямые известные подклассы:
-
MetalComboBoxUI,SynthComboBoxUI
public class BasicComboBoxUI extends ComboBoxUI
Комбо-бокс — это составной компонент, который представляет собой совокупность более простых компонентов. Этот класс создаёт и управляет слушателями для комбо-бокса и модели комбо-бокса. Эти слушатели обновляют пользовательский интерфейс в ответ на изменения свойств и состояния комбо-бокса.
Все обработка событий осуществляется классами-слушателями, созданными методами createxxxListener() и внутренними классами. Вы можете изменить поведение этого класса, переопределив методы createxxxListener() и предоставив собственных слушателей событий или наследуясь от предоставленных в этом классе.
Для добавления определённых действий, переопределите installKeyboardActions для добавления действий в ответ на привязку сочетаний клавиш. См. статью Как использовать привязку клавиш
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
BasicComboBoxUI.ComboBoxLayoutManager |
Этот менеджер компоновки обрабатывает стандартную компоновку комбо-боксов. |
class |
BasicComboBoxUI.FocusHandler |
Этот слушатель скрывает всплывающее меню при потере фокуса. |
class |
BasicComboBoxUI.ItemHandler |
Этот слушатель отслеживает изменения в выборе комбо-бокса. |
class |
BasicComboBoxUI.KeyHandler |
Этот слушатель проверяет, является ли событие нажатия клавиши событием навигации. |
class |
BasicComboBoxUI.ListDataHandler |
Этот слушатель отслеживает изменения в ComboBoxModel. |
class |
BasicComboBoxUI.PropertyChangeHandler |
Этот слушатель отслеживает изменения связанных свойств в комбо-боксе. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected JButton |
arrowButton |
Кнопка стрелки, вызывающая всплывающее меню. |
protected Dimension |
cachedMinimumSize |
Кэшированный минимальный предпочтительный размер. |
protected JComboBox |
comboBox |
Экземпляр JComboBox. |
protected CellRendererPane |
currentValuePane |
Используется для отображения текущего выбранного элемента в комбо-боксе. |
protected Component |
editor |
Компонент, который использует ComboBoxEditor для редактирования. |
protected FocusListener |
focusListener |
Это защищённое поле, специфичное для реализации. |
protected boolean |
hasFocus |
Это защищённое поле, специфичное для реализации. |
protected boolean |
isMinimumSizeDirty |
Флаг для перерасчёта минимального предпочтительного размера. |
protected ItemListener |
itemListener |
Это защищённое поле, специфичное для реализации. |
protected KeyListener |
keyListener |
Это защищённое поле, специфичное для реализации. |
protected JList |
listBox |
Этот список предназначен для отрисовки текущего элемента в комбо-боксе. |
protected ListDataListener |
listDataListener |
Это защищённое поле, специфичное для реализации. |
protected Insets |
padding |
Если указано, эти отступы действуют как отступ вокруг рендерера ячейки при компоновке и отрисовке "выбранного" элемента в комбо-боксе. |
protected ComboPopup |
popup |
Реализация ComboPopup, используемая для отображения всплывающего меню. |
protected KeyListener |
popupKeyListener |
KeyListener слушает события. |
protected MouseListener |
popupMouseListener |
MouseListener слушает события. |
protected MouseMotionListener |
popupMouseMotionListener |
MouseMotionListener слушает события. |
protected PropertyChangeListener |
propertyChangeListener |
Это защищённое поле, специфичное для реализации. |
protected boolean |
squareButton |
Указывает, должна ли кнопка комбо-бокса быть квадратной. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicComboBoxUI() |
Создаёт BasicComboBoxUI. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addEditor() |
Этот публичный метод специфичен для реализации и должен быть приватным. |
void |
configureArrowButton() |
Этот публичный метод специфичен для реализации и должен быть приватным. |
protected void |
configureEditor() |
Этот защищённый метод специфичен для реализации и должен быть приватным. |
protected JButton |
createArrowButton() |
Создаёт кнопку, которая будет использоваться в качестве управления для показа или скрытия всплывающей части раскрывающегося списка. |
protected ComboBoxEditor |
createEditor() |
Создаёт стандартный редактор, который будет использоваться в редактируемых раскрывающихся списках. |
protected FocusListener |
createFocusListener() |
Создаёт FocusListener, который будет добавлен в раскрывающийся список. |
protected ItemListener |
createItemListener() |
Создаёт ItemListener, который будет добавлен в раскрывающийся список. |
protected KeyListener |
createKeyListener() |
Создаёт KeyListener, который будет добавлен в раскрывающийся список. |
protected LayoutManager |
createLayoutManager() |
Создаёт менеджер компоновки для управления компонентами, составляющими раскрывающийся список. |
protected ListDataListener |
createListDataListener() |
Создаёт слушатель данных списка, который будет добавлен к ComboBoxModel. |
protected ComboPopup |
createPopup() |
Создаёт всплывающую часть раскрывающегося списка. |
protected PropertyChangeListener |
createPropertyChangeListener() |
Создаёт PropertyChangeListener, который будет добавлен в раскрывающийся список. |
protected ListCellRenderer |
createRenderer() |
Создаёт стандартный рендерер, который будет использоваться в нередактируемом раскрывающемся списке. |
static ComponentUI |
createUI |
Создаёт новый экземпляр BasicComboBoxUI. |
int |
getBaseline |
Возвращает базовую линию. |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior |
Возвращает перечисление, указывающее, как базовая линия компонента меняется при изменении размера. |
protected Dimension |
getDefaultSize() |
Возвращает стандартный размер пустого области отображения раскрывающегося списка, используя текущий рендерер и шрифт. |
protected Dimension |
getDisplaySize() |
Возвращает рассчитанный размер области отображения. |
protected Insets |
getInsets() |
Получает отступы из JComboBox. |
Dimension |
getMinimumSize |
Минимальный размер — это размер области отображения плюс отступы плюс кнопка. |
protected Dimension |
getSizeForComponent |
Возвращает размер компонента, если он используется как рендерер ячейки. |
protected void |
installComponents() |
Создаёт и инициализирует компоненты, составляющие агрегированный раскрывающийся список. |
protected void |
installDefaults() |
Устанавливает стандартные цвета, стандартный шрифт, стандартный рендерер и стандартный редактор в JComboBox. |
protected void |
installKeyboardActions() |
Добавляет действия клавиатуры в JComboBox. |
protected void |
installListeners() |
Создаёт и устанавливает слушателей для раскрывающегося списка и его модели. |
boolean |
isFocusTraversable |
Определяет, является ли JComboBox перемещаемым с помощью фокуса. |
protected boolean |
isNavigationKey |
Возвращает, соответствует ли переданный keyCode клавише, используемой для навигации. |
boolean |
isPopupVisible |
Указывает, видна ли всплывающая часть. |
void |
paintCurrentValue |
Рисует текущий выбранный элемент. |
void |
paintCurrentValueBackground |
Рисует фон текущего выбранного элемента. |
protected Rectangle |
rectangleForCurrentValue() |
Возвращает область, которая зарезервирована для рисования текущего выбранного элемента. |
void |
removeEditor() |
Этот публичный метод специфичен для реализации и должен быть приватным. |
protected void |
selectNextPossibleValue() |
Выбирает следующий элемент в списке. |
protected void |
selectPreviousPossibleValue() |
Выбирает предыдущий элемент в списке. |
void |
setPopupVisible |
Скрывает всплывающую часть. |
protected void |
toggleOpenClose() |
Скрывает всплывающую часть, если она отображается, и отображает её, если она скрыта. |
void |
unconfigureArrowButton() |
Этот публичный метод специфичен для реализации и должен быть приватным. |
protected void |
unconfigureEditor() |
Этот защищённый метод специфичен для реализации и должен быть приватным. |
protected void |
uninstallComponents() |
Агрегированные компоненты, составляющие раскрывающийся список, не зарегистрированы и не инициализированы. |
protected void |
uninstallDefaults() |
Удаляет стандартные цвета, стандартный шрифт, стандартный рендерер и стандартный редактор из раскрывающегося списка. |
protected void |
uninstallKeyboardActions() |
Удаляет InputMap и ActionMap фокуса. |
protected void |
uninstallListeners() |
Удаляет установленные слушатели из раскрывающегося списка и его модели. |
Методы, объявленные в классе javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, paint, uninstallUI, update
Подробное описание полей
comboBox
protected JComboBox<Object> comboBox
JComboBox.hasFocus
protected boolean hasFocus
listBox
protected JList<Object> listBox
currentValuePane
protected CellRendererPane currentValuePane
popup
protected ComboPopup popup
ComboPopup, которая используется для отображения всплывающего меню.editor
protected Component editor
ComboBoxEditor для редактирования.arrowButton
protected JButton arrowButton
keyListener
protected KeyListener keyListener
- См. также:
focusListener
protected FocusListener focusListener
- См. также:
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
- См. также:
itemListener
protected ItemListener itemListener
- См. также:
popupMouseListener
protected MouseListener popupMouseListener
popupMouseMotionListener
protected MouseMotionListener popupMouseMotionListener
popupKeyListener
protected KeyListener popupKeyListener
listDataListener
protected ListDataListener listDataListener
- См. также:
isMinimumSizeDirty
protected boolean isMinimumSizeDirty
cachedMinimumSize
protected Dimension cachedMinimumSize
squareButton
protected boolean squareButton
- С момента:
- 1.7
padding
protected Insets padding
- С момента:
- 1.7
Подробное описание конструкторов
BasicComboBoxUI
public BasicComboBoxUI()
BasicComboBoxUI.Подробное описание методов
createUI
public static ComponentUI createUI(JComponent c)
BasicComboBoxUI.- Параметры:
-
c- компонент - Возвращает:
- новый экземпляр
BasicComboBoxUI
installDefaults
protected void installDefaults()
installListeners
protected void installListeners()
uninstallDefaults
protected void uninstallDefaults()
uninstallListeners
protected void uninstallListeners()
installListeners
createPopup
protected ComboPopup createPopup()
- Возвращает:
- экземпляр
ComboPopup - См. также:
createKeyListener
protected KeyListener createKeyListener()
- Возвращает:
- экземпляр
KeyListenerили null
createFocusListener
protected FocusListener createFocusListener()
- Возвращает:
- экземпляр обработчика событий фокуса или null
createListDataListener
protected ListDataListener createListDataListener()
ComboBoxModel. Если этот метод возвращает null, то он не будет добавлен в модель раскрывающегося списка.- Возвращает:
- экземпляр обработчика событий изменения данных списка или null
createItemListener
protected ItemListener createItemListener()
Подклассы могут переопределить этот метод, чтобы возвращать экземпляры своих собственных обработчиков событий выбора элемента.
- Возвращает:
- экземпляр обработчика событий выбора элемента или null
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
- Возвращает:
- экземпляр обработчика событий изменения свойств или null
createLayoutManager
protected LayoutManager createLayoutManager()
- Возвращает:
- экземпляр менеджера компоновки
createRenderer
protected ListCellRenderer<Object> createRenderer()
setRenderer.- Возвращает:
- рендерер, используемый для раскрывающегося списка
- См. также:
createEditor
protected ComboBoxEditor createEditor()
setEditor.- Возвращает:
- редактор, используемый для раскрывающегося списка
- См. также:
installComponents
protected void installComponents()
uninstallComponents
protected void uninstallComponents()
addEditor
public void addEditor()
ComboBoxEditor
- См. также:
removeEditor
public void removeEditor()
- См. также:
configureEditor
protected void configureEditor()
- См. также:
unconfigureEditor
protected void unconfigureEditor()
- См. также:
configureArrowButton
public void configureArrowButton()
- См. также:
unconfigureArrowButton
public void unconfigureArrowButton()
- См. также:
createArrowButton
protected JButton createArrowButton()
- Возвращает:
- кнопку, представляющую элемент управления всплывающим списком
isPopupVisible
public boolean isPopupVisible(JComboBox<?> c)
- Определено в:
-
isPopupVisibleв классеComboBoxUI - Параметры:
-
c-JComboBox - Возвращает:
- true, если всплывающее меню
JComboBoxотображается
setPopupVisible
public void setPopupVisible(JComboBox<?> c, boolean v)
- Определено в:
-
setPopupVisibleв классеComboBoxUI - Параметры:
-
c-JComboBox -
v-booleanопределяющая видимость всплывающего меню
isFocusTraversable
public boolean isFocusTraversable(JComboBox<?> c)
- Определено в:
-
isFocusTraversableв классеComboBoxUI - Параметры:
-
c-JComboBox - Возвращает:
- true, если заданный
JComboBoxдоступен для фокусировки
getMinimumSize
public Dimension getMinimumSize(JComponent c)
- Переопределяет:
-
getMinimumSizeв классеComponentUI - Параметры:
-
c— компонент, для которого запрашивается минимальный размер; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
getBaseline
public int getBaseline(JComponent c, int width, int height)
- Переопределяет:
-
getBaselineв классеComponentUI - Параметры:
-
c—JComponentбаза, для которой запрашивается линия -
width— ширина для получения базовой линии -
height— высота для получения базовой линии - Возвращает:
- базовую линию или значение < 0, указывающее, что нет разумной базовой линии
- Исключение:
-
NullPointerException— еслиcnull -
IllegalArgumentException— если ширина или высота < 0 - С:
- 1.6
- См. также:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
- Переопределяет:
-
getBaselineResizeBehaviorв классеComponentUI - Параметры:
-
c—JComponentдля возврата поведения изменения базовой линии - Возвращает:
- перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
- Исключение:
-
NullPointerException— еслиcnull - С:
- 1.6
- См. также:
selectNextPossibleValue
protected void selectNextPossibleValue()
selectPreviousPossibleValue
protected void selectPreviousPossibleValue()
toggleOpenClose
protected void toggleOpenClose()
rectangleForCurrentValue
protected Rectangle rectangleForCurrentValue()
- Возвращает:
- область, отведенную для отрисовки текущего выбранного элемента
getInsets
protected Insets getInsets()
- Возвращает:
- отступы
paintCurrentValue
public void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
- Параметры:
-
g- экземплярGraphics -
bounds- прямоугольник для отрисовки -
hasFocus- имеет ли фокус
paintCurrentValueBackground
public void paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
- Параметры:
-
g- экземплярGraphics -
bounds- прямоугольник для отрисовки -
hasFocus- имеет ли фокус
getDefaultSize
protected Dimension getDefaultSize()
- Возвращает:
- размер пустой области отображения
- См. также:
getDisplaySize
protected Dimension getDisplaySize()
Для раскрывающихся списков с большим количеством элементов рекомендуется использовать прототип значения отображения для существенного ускорения вычисления размера отображения.
- Возвращает:
- размер области отображения, вычисленный из элементов раскрывающегося списка
- См. также:
getSizeForComponent
protected Dimension getSizeForComponent(Component comp)
- Параметры:
-
comp- проверяемыйComponent - Возвращает:
- размер компонента
- С:
- 1.7
installKeyboardActions
protected void installKeyboardActions()
uninstallKeyboardActions
protected void uninstallKeyboardActions()
© 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/BasicComboBoxUI.html