Spec-Zone.ru › OpenJDK 21

Класс BasicComboBoxUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ComboBoxUI
javax.swing.plaf.basic.BasicComboBoxUI
Прямые известные подклассы:
MetalComboBoxUI, SynthComboBoxUI
public class BasicComboBoxUI extends ComboBoxUI
Базовая реализация пользовательского интерфейса для JComboBox.

Комбо-бокс — это составной компонент, который представляет собой совокупность более простых компонентов. Этот класс создаёт и управляет слушателями для комбо-бокса и модели комбо-бокса. Эти слушатели обновляют пользовательский интерфейс в ответ на изменения свойств и состояния комбо-бокса.

Все обработка событий осуществляется классами-слушателями, созданными методами 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<Object> 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<Object> 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<Object> createRenderer()
Создаёт стандартный рендерер, который будет использоваться в нередактируемом раскрывающемся списке.
static ComponentUI createUI(JComponent c)
Создаёт новый экземпляр BasicComboBoxUI.
int getBaseline(JComponent c, int width, int height)
Возвращает базовую линию.
Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как базовая линия компонента меняется при изменении размера.
protected Dimension getDefaultSize()
Возвращает стандартный размер пустого области отображения раскрывающегося списка, используя текущий рендерер и шрифт.
protected Dimension getDisplaySize()
Возвращает рассчитанный размер области отображения.
protected Insets getInsets()
Получает отступы из JComboBox.
Dimension getMinimumSize(JComponent c)
Минимальный размер — это размер области отображения плюс отступы плюс кнопка.
protected Dimension getSizeForComponent(Component comp)
Возвращает размер компонента, если он используется как рендерер ячейки.
protected void installComponents()
Создаёт и инициализирует компоненты, составляющие агрегированный раскрывающийся список.
protected void installDefaults()
Устанавливает стандартные цвета, стандартный шрифт, стандартный рендерер и стандартный редактор в JComboBox.
protected void installKeyboardActions()
Добавляет действия клавиатуры в JComboBox.
protected void installListeners()
Создаёт и устанавливает слушателей для раскрывающегося списка и его модели.
boolean isFocusTraversable(JComboBox<?> c)
Определяет, является ли JComboBox перемещаемым с помощью фокуса.
protected boolean isNavigationKey(int keyCode)
Возвращает, соответствует ли переданный keyCode клавише, используемой для навигации.
boolean isPopupVisible(JComboBox<?> c)
Указывает, видна ли всплывающая часть.
void paintCurrentValue(Graphics g, Rectangle bounds, boolean hasFocus)
Рисует текущий выбранный элемент.
void paintCurrentValueBackground(Graphics g, Rectangle bounds, boolean hasFocus)
Рисует фон текущего выбранного элемента.
protected Rectangle rectangleForCurrentValue()
Возвращает область, которая зарезервирована для рисования текущего выбранного элемента.
void removeEditor()
Этот публичный метод специфичен для реализации и должен быть приватным.
protected void selectNextPossibleValue()
Выбирает следующий элемент в списке.
protected void selectPreviousPossibleValue()
Выбирает предыдущий элемент в списке.
void setPopupVisible(JComboBox<?> c, boolean v)
Скрывает всплывающую часть.
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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, 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
Это защищенное поле зависит от реализации. Необходимо обращаться к нему напрямую или переопределять. Вместо этого необходимо переопределить метод построения обработчика событий.
См. также:
  • createKeyListener()

focusListener

protected FocusListener focusListener
Это защищенное поле зависит от реализации. Необходимо обращаться к нему напрямую или переопределять. Вместо этого необходимо переопределить метод построения обработчика событий.
См. также:
  • createFocusListener()

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
Это защищенное поле зависит от реализации. Необходимо обращаться к нему напрямую или переопределять. Вместо этого необходимо переопределить метод построения обработчика событий.
См. также:
  • createPropertyChangeListener()

itemListener

protected ItemListener itemListener
Это защищенное поле зависит от реализации. Необходимо обращаться к нему напрямую или переопределять. Вместо этого необходимо переопределить метод построения обработчика событий.
См. также:
  • createItemListener()

popupMouseListener

protected MouseListener popupMouseListener
Обработчик событий мыши для всплывающего меню.

popupMouseMotionListener

protected MouseMotionListener popupMouseMotionListener
Обработчик событий перемещения мыши для всплывающего меню.

popupKeyListener

protected KeyListener popupKeyListener
Обработчик событий нажатия клавиш для всплывающего меню.

listDataListener

protected ListDataListener listDataListener
Это защищенное поле зависит от реализации. Необходимо обращаться к нему напрямую или переопределять. Вместо этого необходимо переопределить метод построения обработчика событий.
См. также:
  • createListDataListener()

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()
Устанавливает стандартные цвета, стандартный шрифт, стандартный рендерер и стандартный редактор в JComboBox.

installListeners

protected void installListeners()
Создает и устанавливает обработчики событий для раскрывающегося списка и его модели. Этот метод вызывается при установке UI.

uninstallDefaults

protected void uninstallDefaults()
Удаляет стандартные цвета, стандартный шрифт, стандартный рендерер и стандартный редактор из раскрывающегося списка.

uninstallListeners

protected void uninstallListeners()
Удаляет установленные обработчики событий из раскрывающегося списка и его модели. Количество и типы удаленных обработчиков событий в этом методе должны быть такими же, что и добавлены в installListeners

createPopup

protected ComboPopup createPopup()
Создает всплывающую часть раскрывающегося списка.
Возвращает:
экземпляр ComboPopup
См. также:
  • ComboPopup

createKeyListener

protected KeyListener createKeyListener()
Создает обработчик событий нажатия клавиш, который будет добавлен в раскрывающийся список. Если этот метод возвращает null, то он не будет добавлен в раскрывающийся список.
Возвращает:
экземпляр KeyListener или null

createFocusListener

protected FocusListener createFocusListener()
Создает обработчик событий фокуса, который будет добавлен в раскрывающийся список. Если этот метод возвращает null, то он не будет добавлен в раскрывающийся список.
Возвращает:
экземпляр обработчика событий фокуса или null

createListDataListener

protected ListDataListener createListDataListener()
Создает обработчик событий изменения данных списка, который будет добавлен к ComboBoxModel. Если этот метод возвращает null, то он не будет добавлен в модель раскрывающегося списка.
Возвращает:
экземпляр обработчика событий изменения данных списка или null

createItemListener

protected ItemListener createItemListener()
Создает обработчик событий выбора элемента, который будет добавлен в раскрывающийся список. Если этот метод возвращает null, то он не будет добавлен в раскрывающийся список.

Подклассы могут переопределить этот метод, чтобы возвращать экземпляры своих собственных обработчиков событий выбора элемента.

Возвращает:
экземпляр обработчика событий выбора элемента или null

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Создает обработчик событий изменения свойств, который будет добавлен в раскрывающийся список. Если этот метод возвращает null, то он не будет добавлен в раскрывающийся список.
Возвращает:
экземпляр обработчика событий изменения свойств или null

createLayoutManager

protected LayoutManager createLayoutManager()
Создает менеджер компоновки для управления компонентами, которые составляют раскрывающийся список.
Возвращает:
экземпляр менеджера компоновки

createRenderer

protected ListCellRenderer<Object> createRenderer()
Создает стандартный рендерер, который будет использоваться в нередактируемом раскрывающемся списке. Стандартный рендерер будет использован только в том случае, если рендерер не был явно задан с помощью setRenderer.
Возвращает:
рендерер, используемый для раскрывающегося списка
См. также:
  • JComboBox.setRenderer(javax.swing.ListCellRenderer<? super E>)

createEditor

protected ComboBoxEditor createEditor()
Создает стандартный редактор, который будет использоваться в редактируемых раскрывающихся списках. Стандартный редактор будет использован только в том случае, если редактор не был явно задан с помощью setEditor.
Возвращает:
редактор, используемый для раскрывающегося списка
См. также:
  • JComboBox.setEditor(javax.swing.ComboBoxEditor)

installComponents

protected void installComponents()
Создает и инициализирует компоненты, которые составляют агрегированный раскрывающийся список. Этот метод вызывается в рамках процесса установки UI.

uninstallComponents

protected void uninstallComponents()
Агрегированные компоненты, которые составляют раскрывающийся список, отменяют регистрацию и деинициализируются. Этот метод вызывается в рамках процесса отмены установки UI.

addEditor

public void addEditor()
Этот общедоступный метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять. Для реализации конкретного редактора создайте пользовательский ComboBoxEditor
См. также:
  • createEditor()
  • JComboBox.setEditor(javax.swing.ComboBoxEditor)
  • ComboBoxEditor

removeEditor

public void removeEditor()
Этот общедоступный метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять.
См. также:
  • addEditor()

configureEditor

protected void configureEditor()
Этот защищённый метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять.
См. также:
  • addEditor()

unconfigureEditor

protected void unconfigureEditor()
Этот защищённый метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять.
См. также:
  • addEditor()

configureArrowButton

public void configureArrowButton()
Этот общедоступный метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять.
См. также:
  • createArrowButton()

unconfigureArrowButton

public void unconfigureArrowButton()
Этот общедоступный метод специфичен для реализации и должен быть закрытым. Не вызывать и не переопределять.
См. также:
  • createArrowButton()

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)
Определяет, можно ли получить фокус в JComboBox. Если JComboBox редактируемый, возвращает false, иначе — true.
Определено в:
isFocusTraversable в классе ComboBoxUI
Параметры:
c - JComboBox
Возвращает:
true, если заданный JComboBox доступен для фокусировки

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Минимальный размер — это размер области отображения плюс отступы плюс кнопка.
Переопределяет:
getMinimumSize в классе ComponentUI
Параметры:
c — компонент, для которого запрашивается минимальный размер; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами
Возвращает:
объект Dimension или null
См. также:
  • JComponent.getMinimumSize()
  • LayoutManager.minimumLayoutSize(java.awt.Container)
  • ComponentUI.getPreferredSize(javax.swing.JComponent)

getBaseline

public int getBaseline(JComponent c, int width, int height)
Возвращает базовую линию.
Переопределяет:
getBaseline в классе ComponentUI
Параметры:
c — JComponent база, для которой запрашивается линия
width — ширина для получения базовой линии
height — высота для получения базовой линии
Возвращает:
базовую линию или значение < 0, указывающее, что нет разумной базовой линии
Исключение:
NullPointerException — если c null
IllegalArgumentException — если ширина или высота < 0
С:
1.6
См. также:
  • JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как базовая линия компонента изменяется при изменении размера.
Переопределяет:
getBaselineResizeBehavior в классе ComponentUI
Параметры:
c — JComponent для возврата поведения изменения базовой линии
Возвращает:
перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
Исключение:
NullPointerException — если c null
С:
1.6
См. также:
  • JComponent.getBaseline(int, int)

isNavigationKey

protected boolean isNavigationKey(int keyCode)
Возвращает, соответствует ли заданный keyCode клавише, используемой для навигации. Это используется для оптимизации ввода с клавиатуры, передавая только клавиши, не используемые для навигации, механизму предсказания ввода. Подклассы должны переопределять этот метод, если они изменяют клавиши навигации.
Параметры:
keyCode — код клавиши
Возвращает:
true , если заданный keyCode соответствует клавише навигации

selectNextPossibleValue

protected void selectNextPossibleValue()
Выбирает следующий элемент в списке. Не изменяет выбор, если текущий выбранный элемент уже последний.

selectPreviousPossibleValue

protected void selectPreviousPossibleValue()
Выбирает предыдущий элемент в списке. Не изменяет выбор, если текущий выбранный элемент уже первый.

toggleOpenClose

protected void toggleOpenClose()
Скрывает всплывающее меню, если оно отображается, и отображает его, если оно скрыто.

rectangleForCurrentValue

protected Rectangle rectangleForCurrentValue()
Возвращает область, отведенную для отрисовки текущего выбранного элемента.
Возвращает:
область, отведенную для отрисовки текущего выбранного элемента

getInsets

protected Insets getInsets()
Возвращает отступы из JComboBox.
Возвращает:
отступы

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()

getDisplaySize

protected Dimension getDisplaySize()
Возвращает вычисленный размер области отображения. Область отображения — это часть раскрывающегося списка, в которой отображается выбранный элемент. Этот метод будет использовать прототип значения отображения, если он был задан.

Для раскрывающихся списков с большим количеством элементов рекомендуется использовать прототип значения отображения для существенного ускорения вычисления размера отображения.

Возвращает:
размер области отображения, вычисленный из элементов раскрывающегося списка
См. также:
  • JComboBox.setPrototypeDisplayValue(E)

getSizeForComponent

protected Dimension getSizeForComponent(Component comp)
Возвращает размер компонента, если он используется как рендерер ячейки.
Параметры:
comp - проверяемый Component
Возвращает:
размер компонента
С:
1.7

installKeyboardActions

protected void installKeyboardActions()
Добавляет действия клавиатуры в JComboBox. Действия для клавиш Enter и Esc уже заданы. Добавьте больше действий по мере необходимости.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API