Класс BasicComboBoxUI
- Непосредственные известные подклассы:
MetalComboBoxUI, SynthComboBoxUI
public class BasicComboBoxUI extends ComboBoxUI
Поле со списком является составным компонентом, то есть объединяет множество более простых компонентов. Этот класс создает слушатели для поля со списком и его модели и управляет ими. Эти слушатели обновляют пользовательский интерфейс в ответ на изменения свойств и состояния поля со списком.
Обработка всех событий выполняется классами-слушателями, созданными с помощью методов createxxxListener(), и внутренними классами. Вы можете изменить поведение этого класса, переопределив методы createxxxListener() и предоставив собственные слушатели событий либо создав подклассы на основе слушателей, предоставленных в этом классе.
Чтобы добавить определенные действия, переопределите installKeyboardActions и добавьте действия в ответ на привязки KeyStroke. См. статью Использование привязок клавиш
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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() |
Удаляет установленные слушатели из комбинированного списка и его модели. |
Методы, объявленные в классе ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, paint, uninstallUI, update | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Возвращает true, если указанная точка с координатами x,y находится внутри формы, заданной внешним видом для указанного компонента. |
Accessible |
getAccessibleChild |
Возвращает i-го дочернего элемента объекта типа Accessible. |
int |
getAccessibleChildrenCount |
Возвращает количество доступных дочерних элементов объекта. |
Dimension |
getMaximumSize |
Возвращает максимальный размер указанного компонента, подходящий для данного внешнего вида. |
Dimension |
getPreferredSize |
Возвращает предпочтительный размер указанного компонента, подходящий для данного внешнего вида. |
void |
installUI |
Настраивает указанный компонент в соответствии с внешним видом. |
void |
paint |
Отрисовывает указанный компонент в соответствии с внешним видом. |
void |
uninstallUI |
Отменяет настройку указанного компонента, выполненную во время installUI. |
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() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова уведомления или прерывания, либо истечения заданного промежутка реального времени. |
Подробное описание полей
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, обработчик не будет добавлен к полю со списком.- Возвращает:
- экземпляр
KeyListenerили null
createFocusListener
protected FocusListener createFocusListener()
FocusListener, который будет добавлен к полю со списком. Если этот метод возвращает null, обработчик не будет добавлен к полю со списком.- Возвращает:
- экземпляр
FocusListenerили null
createListDataListener
protected ListDataListener createListDataListener()
ComboBoxModel. Если этот метод возвращает null, обработчик не будет добавлен к модели поля со списком.- Возвращает:
- экземпляр
ListDataListenerили null
createItemListener
protected ItemListener createItemListener()
ItemListener, который будет добавлен к полю со списком. Если этот метод возвращает null, обработчик не будет добавлен к полю со списком. Подклассы могут переопределить этот метод, чтобы возвращать экземпляры собственных обработчиков ItemEvent.
- Возвращает:
- экземпляр
ItemListenerили null
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
PropertyChangeListener, который будет добавлен к полю со списком. Если этот метод возвращает null, обработчик не будет добавлен к полю со списком.- Возвращает:
- экземпляр
PropertyChangeListenerили null
createLayoutManager
protected LayoutManager createLayoutManager()
- Возвращает:
- экземпляр менеджера компоновки
createRenderer
protected ListCellRenderer<Object> createRenderer()
setRenderer.- Возвращает:
ListCellRender, используемое для поля со списком- См. также:
createEditor
protected ComboBoxEditor createEditor()
setEditor.- Возвращает:
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—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— если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)
- Параметры:
-
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, 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.