Spec-Zone.ru › OpenJDK 17

Класс 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
Компонент, который @{code 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)
Возвращает, соответствует ли предоставленный код клавиши клавише, используемой для навигации.
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
Компонент, который использует @{code 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
Слушатель MouseListener событий.

popupMouseMotionListener

protected MouseMotionListener popupMouseMotionListener
Слушатель MouseMotionListener событий.

popupKeyListener

protected KeyListener popupKeyListener
Слушатель KeyListener событий.

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()
Создает 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 для раскрывающегося списка
См. также:
  • JComboBox.setRenderer(javax.swing.ListCellRenderer<? super E>)

createEditor

protected ComboBoxEditor createEditor()
Создает редактор по умолчанию, который будет использоваться в редактируемых раскрывающихся списках. Редактор по умолчанию будет использоваться только в том случае, если редактор не был явно задан с помощью setEditor.
Возвращает:
ComboBoxEditor для раскрывающегося списка
См. также:
  • 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
См. также:
  • JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как меняется базовая линия компонента при изменении размера.
Переопределяет:
getBaselineResizeBehavior в классе ComponentUI
Параметры:
c - JComponent получить поведение изменения базовой линии
Возвращает:
перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
Исключения:
NullPointerException - если c null
См. также:
  • 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()
Удаляет InputMap и ActionMap фокуса.

© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/plaf/basic/BasicComboBoxUI.html

Spec-Zone.ru

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