Класс BasicComboPopup
- Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, MenuElement, ComboPopup
- Прямые известные подклассы:
MetalComboBoxUI.MetalComboPopup
public class BasicComboPopup extends JPopupMenu implements ComboPopup
ComboPopup. Этот класс представляет пользовательский интерфейс всплывающей части поля со списком. Обработка всех событий осуществляется классами-обработчиками, созданными с помощью методов createxxxListener(), и внутренними классами. Поведение этого класса можно изменить, переопределив методы createxxxListener(), предоставив собственные обработчики событий или создав подкласс одного из обработчиков, предоставленных в этом классе.
Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
BasicComboPopup.InvocationKeyHandler |
Начиная с платформы Java 2 версии 1.4 этот класс устарел и включен только для обратной совместимости API. |
protected class |
BasicComboPopup.InvocationMouseHandler |
Обработчик, регистрируемый для поля со списком (не для его всплывающего меню), который обрабатывает события мыши, влияющие на состояние всплывающего меню. |
protected class |
BasicComboPopup.InvocationMouseMotionHandler |
Этот обработчик отслеживает перетаскивание и обновляет текущий выбор в списке, если перетаскивание выполняется над списком. |
protected class |
BasicComboPopup.ItemHandler |
Этот обработчик отслеживает изменения выбора в поле со списком. |
class |
BasicComboPopup.ListDataHandler |
Начиная с версии 1.4 этот класс устарел, ничего не делает и включен только для обратной совместимости API. |
protected class |
BasicComboPopup.ListMouseHandler |
Этот обработчик скрывает всплывающее меню, когда кнопку мыши отпускают в списке. |
protected class |
BasicComboPopup.ListMouseMotionHandler |
Этот обработчик изменяет выбранный элемент при перемещении мыши над списком. |
protected class |
BasicComboPopup.ListSelectionHandler |
Начиная с платформы Java 2 версии 1.4 этот класс устарел, ничего не делает и включен только для обратной совместимости API. |
protected class |
BasicComboPopup.PropertyChangeHandler |
Этот обработчик отслеживает изменения связанных свойств поля со списком. |
Вложенные классы/интерфейсы, объявленные в классе JPopupMenu
JPopupMenu.AccessibleJPopupMenu, JPopupMenu.Separator
Вложенные классы/интерфейсы, объявленные в классе JComponent
JComponent.AccessibleJComponent
Вложенные классы/интерфейсы, объявленные в классе Container
Container.AccessibleAWTContainer
Вложенные классы/интерфейсы, объявленные в классе Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Timer |
autoscrollTimer |
Это защищенное поле зависит от реализации. |
protected JComboBox |
comboBox |
Экземпляр JComboBox. |
protected boolean |
hasEntered |
true, если курсор мыши находится во всплывающем меню. |
protected boolean |
isAutoScrolling |
Если true, автоматическая прокрутка включена. |
protected ItemListener |
itemListener |
Это защищенное поле зависит от реализации. |
protected KeyListener |
keyListener |
Это защищенное поле зависит от реализации. |
protected JList |
list |
Это защищенное поле зависит от реализации. |
protected ListDataListener |
listDataListener |
Это защищенное поле зависит от реализации. |
protected MouseListener |
listMouseListener |
Это защищенное поле зависит от реализации. |
protected MouseMotionListener |
listMouseMotionListener |
Это защищенное поле зависит от реализации. |
protected ListSelectionListener |
listSelectionListener |
Это защищенное поле зависит от реализации. |
protected MouseListener |
mouseListener |
Это защищенное поле зависит от реализации. |
protected MouseMotionListener |
mouseMotionListener |
Это защищенное поле зависит от реализации. |
protected PropertyChangeListener |
propertyChangeListener |
Это защищенное поле зависит от реализации. |
protected static final int |
SCROLL_DOWN |
Направление прокрутки вниз. |
protected static final int |
SCROLL_UP |
Направление прокрутки вверх. |
protected int |
scrollDirection |
Направление прокрутки. |
protected JScrollPane |
scroller |
Это защищенное поле зависит от реализации. |
protected boolean |
valueIsAdjusting |
Начиная с платформы Java 2 версии 1.4 это ранее недокументированное поле больше не используется. |
Поля, объявленные в классе JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Поля, объявленные в классе Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicComboPopup |
Создает новый экземпляр BasicComboPopup. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
autoScrollDown() |
Этот защищенный метод зависит от реализации и должен быть закрытым. Не вызывайте и не переопределяйте его. |
protected void |
autoScrollUp() |
Этот защищенный метод зависит от реализации и должен быть закрытым. Не вызывайте и не переопределяйте его. |
protected Rectangle |
computePopupBounds |
Вычисляет положение и размер всплывающей части поля со списком на основе местоположения поля со списком и границ экрана, в котором оно находится. |
protected void |
configureList() |
Настраивает список, который используется для хранения элементов поля со списком во всплывающем меню. |
protected void |
configurePopup() |
Настраивает всплывающую часть поля со списком. |
protected void |
configureScroller() |
Настраивает прокручиваемую часть, содержащую список во всплывающем меню поля со списком. |
protected MouseEvent |
convertMouseEvent |
Преобразует событие мыши. |
protected ItemListener |
createItemListener() |
Создает ItemListener, который будет добавлен к полю со списком. |
protected KeyListener |
createKeyListener() |
Создает обработчик клавиатуры, который будет добавлен к полю со списком. |
protected JList |
createList() |
Создает JList, используемый во всплывающем меню для отображения элементов модели поля со списком. |
protected ListDataListener |
createListDataListener() |
Создает обработчик данных списка, который будет добавлен к ComboBoxModel. |
protected MouseListener |
createListMouseListener() |
Создает обработчик мыши, отслеживающий события мыши в списке всплывающего меню. |
protected MouseMotionListener |
createListMouseMotionListener() |
Создает обработчик перемещения мыши, отслеживающий события перемещения мыши в списке всплывающего меню. |
protected ListSelectionListener |
createListSelectionListener() |
Создает обработчик выбора в списке, отслеживающий изменения выбора в списке всплывающего меню. |
protected MouseListener |
createMouseListener() |
Создает обработчик, отслеживающий события нажатия и отпускания кнопки мыши на поле со списком. |
protected MouseMotionListener |
createMouseMotionListener() |
Создает обработчик перемещения мыши, который будет добавлен к полю со списком. |
protected PropertyChangeListener |
createPropertyChangeListener() |
Создает PropertyChangeListener, который будет добавлен к полю со списком. |
protected JScrollPane |
createScroller() |
Создает панель прокрутки, содержащую прокручиваемый список. |
protected void |
delegateFocus |
Вспомогательный метод, который помогает обработчикам событий определить, куда передать фокус при открытии всплывающего меню. |
AccessibleContext |
getAccessibleContext() |
Возвращает AccessibleContext, связанный с BasicComboPopup. |
KeyListener |
getKeyListener() |
Реализация ComboPopup.getKeyListener(). |
JList |
getList() |
Реализация ComboPopup.getList(). |
MouseListener |
getMouseListener() |
Реализация ComboPopup.getMouseListener(). |
MouseMotionListener |
getMouseMotionListener() |
Реализация ComboPopup.getMouseMotionListener(). |
protected int |
getPopupHeightForRowCount |
Возвращает высоту всплывающего меню на основе текущего ListCellRenderer и максимального количества строк. |
void |
hide() |
Реализация ComboPopup.hide(). |
protected void |
installComboBoxListeners() |
Этот метод добавляет необходимые обработчики к JComboBox. |
protected void |
installComboBoxModelListeners |
Устанавливает обработчики для модели поля со списком. |
protected void |
installKeyboardActions() |
Регистрирует действия клавиатуры. |
protected void |
installListListeners() |
Добавляет обработчики к элементу управления списком. |
boolean |
isFocusTraversable() |
Переопределен так, чтобы всегда возвращать false. |
void |
show() |
Реализация ComboPopup.show(). |
protected void |
startAutoScrolling |
Этот защищенный метод зависит от реализации и должен быть закрытым. Не вызывайте и не переопределяйте его. |
protected void |
stopAutoScrolling() |
Этот защищенный метод зависит от реализации и должен быть закрытым. Не вызывайте и не переопределяйте его. |
protected void |
togglePopup() |
Показывает всплывающее меню, если оно скрыто, и скрывает его, если оно отображается. |
protected void |
uninstallComboBoxModelListeners |
Удаляет обработчики из модели поля со списком. |
void |
uninstallingUI() |
Вызывается при удалении пользовательского интерфейса. |
protected void |
uninstallKeyboardActions() |
Отменяет регистрацию действий клавиатуры. |
protected void |
updateListBoxSelectionForEvent |
Вспомогательный метод, используемый обработчиками событий. |
Методы, объявленные в классе JPopupMenu
add, add, add, addMenuKeyListener, addPopupMenuListener, addSeparator, createActionChangeListener, createActionComponent, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getComponent, getComponentAtIndex, getComponentIndex, getDefaultLightWeightPopupEnabled, getInvoker, getLabel, getMargin, getMenuKeyListeners, getPopupMenuListeners, getSelectionModel, getSubElements, getUI, getUIClassID, insert, insert, isBorderPainted, isLightWeightPopupEnabled, isPopupTrigger, isVisible, menuSelectionChanged, pack, paintBorder, paramString, processKeyEvent, processKeyEvent, processMouseEvent, remove, removeMenuKeyListener, removePopupMenuListener, setBorderPainted, setDefaultLightWeightPopupEnabled, setInvoker, setLabel, setLightWeightPopupEnabled, setLocation, setPopupSize, setPopupSize, setSelected, setSelectionModel, setUI, setVisible, show, updateUI
Методы, объявленные в классе JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
Методы, объявленные в классе Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Методы, объявленные в классе Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе ComboPopup
isVisible
Подробное описание полей
comboBox
protected JComboBox<Object> comboBox
JComboBox.list
protected JList<Object> list
- См. также:
scroller
protected JScrollPane scroller
- См. также:
valueIsAdjusting
protected boolean valueIsAdjusting
mouseMotionListener
protected MouseMotionListener mouseMotionListener
- См. также:
mouseListener
protected MouseListener mouseListener
- См. также:
keyListener
protected KeyListener keyListener
- См. также:
listSelectionListener
protected ListSelectionListener listSelectionListener
- См. также:
listMouseListener
protected MouseListener listMouseListener
- См. также:
listMouseMotionListener
protected MouseMotionListener listMouseMotionListener
- См. также:
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
- См. также:
listDataListener
protected ListDataListener listDataListener
- См. также:
itemListener
protected ItemListener itemListener
- См. также:
autoscrollTimer
protected Timer autoscrollTimer
hasEntered
protected boolean hasEntered
true если курсор мыши находится во всплывающем окне.isAutoScrolling
protected boolean isAutoScrolling
true автоматическая прокрутка включена.scrollDirection
protected int scrollDirection
SCROLL_UP
protected static final int SCROLL_UP
- См. также:
SCROLL_DOWN
protected static final int SCROLL_DOWN
- См. также:
Подробное описание конструкторов
BasicComboPopup
public BasicComboPopup(JComboBox<Object> combo)
BasicComboPopup.- Параметры:
-
combo— экземплярJComboBox
Подробное описание методов
show
public void show()
- Определён в:
-
showв интерфейсеComboPopup - Переопределяет:
-
showв классеComponent
hide
public void hide()
- Определён в:
-
hideв интерфейсеComboPopup - Переопределяет:
-
hideв классеJComponent
getList
public JList<Object> getList()
- Определён в:
-
getListв интерфейсеComboPopup - Возвращает:
- список, используемый для отображения элементов в поле со списком
getMouseListener
public MouseListener getMouseListener()
- Определён в:
-
getMouseListenerв интерфейсеComboPopup - Возвращает:
- объект
MouseListenerили null - См. также:
getMouseMotionListener
public MouseMotionListener getMouseMotionListener()
- Определён в:
-
getMouseMotionListenerв интерфейсеComboPopup - Возвращает:
- объект
MouseMotionListenerили null - См. также:
getKeyListener
public KeyListener getKeyListener()
- Определён в:
-
getKeyListenerв интерфейсеComboPopup - Возвращает:
- объект
KeyListenerили null - См. также:
uninstallingUI
public void uninstallingUI()
- Определён в:
-
uninstallingUIв интерфейсеComboPopup
uninstallComboBoxModelListeners
protected void uninstallComboBoxModelListeners(ComboBoxModel<?> model)
- Параметры:
-
model— модель поля со списком, для которой устанавливаются прослушиватели - См. также:
uninstallKeyboardActions
protected void uninstallKeyboardActions()
createMouseListener
protected MouseListener createMouseListener()
- Возвращает:
- объект
MouseListener, который будет добавлен в поле со списком, или null
createMouseMotionListener
protected MouseMotionListener createMouseMotionListener()
- Возвращает:
- объект
MouseMotionListener, который будет добавлен в поле со списком, или null
createKeyListener
protected KeyListener createKeyListener()
- Возвращает:
- объект
KeyListenerили null
createListSelectionListener
protected ListSelectionListener createListSelectionListener()
- Возвращает:
- экземпляр
ListSelectionListenerили null
createListDataListener
protected ListDataListener createListDataListener()
ComboBoxModel. Если этот метод возвращает null, прослушиватель не будет добавлен в модель поля со списком.- Возвращает:
- экземпляр
ListDataListenerили null
createListMouseListener
protected MouseListener createListMouseListener()
- Возвращает:
- экземпляр
MouseListenerили null
createListMouseMotionListener
protected MouseMotionListener createListMouseMotionListener()
- Возвращает:
- экземпляр
MouseMotionListenerили null
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
PropertyChangeListener, который будет добавлен в поле со списком. Если этот метод возвращает null, прослушиватель не будет добавлен в поле со списком.- Возвращает:
- экземпляр
PropertyChangeListenerили null
createItemListener
protected ItemListener createItemListener()
ItemListener, который будет добавлен в поле со списком. Если этот метод возвращает null, прослушиватель не будет добавлен в поле со списком. Подклассы могут переопределить этот метод, чтобы возвращать экземпляры собственных обработчиков ItemEvent.
- Возвращает:
- экземпляр
ItemListenerили null
createList
protected JList<Object> createList()
- Возвращает:
- объект
JList, используемый для отображения элементов поля со списком
configureList
protected void configureList()
- См. также:
installListListeners
protected void installListListeners()
createScroller
protected JScrollPane createScroller()
- Возвращает:
- панель прокрутки, содержащую прокручиваемый список
configureScroller
protected void configureScroller()
configurePopup
protected void configurePopup()
installComboBoxListeners
protected void installComboBoxListeners()
installComboBoxModelListeners
protected void installComboBoxModelListeners(ComboBoxModel<?> model)
uninstallComboBoxModelListeners.- Параметры:
-
model— модель поля со списком, для которой устанавливаются прослушиватели - См. также:
installKeyboardActions
protected void installKeyboardActions()
isFocusTraversable
public boolean isFocusTraversable()
- Переопределяет:
-
isFocusTraversableв классеComponent - Возвращает:
-
true, если этотComponentможет получать фокус; в противном случае —false - См. также:
startAutoScrolling
protected void startAutoScrolling(int direction)
- Параметры:
-
direction— направление прокрутки
stopAutoScrolling
protected void stopAutoScrolling()
autoScrollUp
protected void autoScrollUp()
autoScrollDown
protected void autoScrollDown()
getAccessibleContext
public AccessibleContext getAccessibleContext()
- Определён в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJPopupMenu - Возвращает:
- AccessibleContext для BasicComboPopup
- С:
- 1.5
delegateFocus
protected void delegateFocus(MouseEvent e)
- Параметры:
-
e— событие мыши
togglePopup
protected void togglePopup()
convertMouseEvent
protected MouseEvent convertMouseEvent(MouseEvent e)
- Параметры:
-
e— событие мыши - Возвращает:
- преобразованное событие мыши
getPopupHeightForRowCount
protected int getPopupHeightForRowCount(int maxRowCount)
- Параметры:
-
maxRowCount— количество строк - Возвращает:
- высоту всплывающего окна
computePopupBounds
protected Rectangle computePopupBounds(int px, int py, int pw, int ph)
- Параметры:
-
px— начальная координата x -
py— начальная координата y -
pw— начальная ширина -
ph— начальная высота - Возвращает:
- прямоугольник, задающий положение и размер всплывающего окна
updateListBoxSelectionForEvent
protected void updateListBoxSelectionForEvent(MouseEvent anEvent, boolean shouldScroll)
- Параметры:
-
anEvent— событие мыши -
shouldScroll— следует ли прокручивать списокtrue.
© 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/BasicComboPopup.html