Класс 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
MouseListener.popupMouseMotionListener
protected MouseMotionListener popupMouseMotionListener
MouseMotionListener.popupKeyListener
protected KeyListener popupKeyListener
KeyListener.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()
- Возвращает:
- экземпляр слушателя фокуса
FocusListenerили null
createListDataListener
protected ListDataListener createListDataListener()
ComboBoxModel. Если этот метод возвращает null, слушатель не будет добавлен к модели раскрывающегося списка.- Возвращает:
- экземпляр слушателя
ListDataListenerили null
createItemListener
protected ItemListener createItemListener()
Подклассы могут переопределить этот метод, чтобы вернуть экземпляры своих собственных обработчиков событий элементов.
- Возвращает:
- экземпляр слушателя
ItemListenerили null
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
- Возвращает:
- экземпляр слушателя свойств
PropertyChangeListenerили null
createLayoutManager
protected LayoutManager createLayoutManager()
- Возвращает:
- экземпляр менеджера компоновки
createRenderer
protected ListCellRenderer<Object> createRenderer()
setRenderer.- Возвращает:
- рендерер
ListCellRenderдля раскрывающегося списка - См. также:
createEditor
protected ComboBoxEditor createEditor()
setEditor.- Возвращает:
- a
ComboBoxEditor, используемый для комбинированного поля - См. также:
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- aboolean, определяющее видимость всплывающего окна
isFocusTraversable
public boolean isFocusTraversable(JComboBox<?> c)
- Определено в:
-
isFocusTraversableв классеComboBoxUI - Параметры:
-
c- aJComboBox - Возвращает:
- 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— еслиcравноnull -
IllegalArgumentException— если ширина или высота < 0 - С тех пор как:
- 1.6
- См. также:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
- Переопределяет:
-
getBaselineResizeBehaviorв классеComponentUI - Параметры:
-
c—JComponent, для которого нужно вернуть поведение изменения базовой линии - Возвращает:
- перечисление, указывающее, как меняется базовая линия при изменении размера компонента
- Исключения:
-
NullPointerException— еслиcравноnull - С тех пор как:
- 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)
- Parameters:
-
g- экземплярGraphics -
bounds- прямоугольник, в который нужно выполнить отрисовку -
hasFocus- сосредоточен ли фокус
getDefaultSize
protected Dimension getDefaultSize()
- Returns:
- размер пустой области отображения
- See Also:
getDisplaySize
protected Dimension getDisplaySize()
Для полей ввода с большим количеством элементов рекомендуется использовать прообразец значения отображения, чтобы значительно ускорить вычисление размера отображения.
- Returns:
- размер области отображения, рассчитанный из элементов поля ввода
- See Also:
getSizeForComponent
protected Dimension getSizeForComponent(Component comp)
- Parameters:
-
comp-Componentдля проверки - Returns:
- размер компонента
- Since:
- 1.7
installKeyboardActions
protected void installKeyboardActions()
uninstallKeyboardActions
protected void uninstallKeyboardActions()
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/plaf/basic/BasicComboBoxUI.html