Spec-Zone.ru › OpenJDK 27

Класс ComponentUI

java.lang.Object
javax.swing.plaf.ComponentUI
Прямые известные подклассы:
ButtonUI, ColorChooserUI, ComboBoxUI, DesktopIconUI, DesktopPaneUI, FileChooserUI, InternalFrameUI, LabelUI, LayerUI, ListUI, MenuBarUI, OptionPaneUI, PanelUI, PopupMenuUI, ProgressBarUI, RootPaneUI, ScrollBarUI, ScrollPaneUI, SeparatorUI, SliderUI, SpinnerUI, SplitPaneUI, TabbedPaneUI, TableHeaderUI, TableUI, TextUI, ToolBarUI, ToolTipUI, TreeUI, ViewportUI
public abstract class ComponentUI extends Object
Базовый класс для всех объектов делегатов пользовательского интерфейса в архитектуре подключаемых внешнего вида и поведения Swing. Объект делегата пользовательского интерфейса компонента Swing отвечает за реализацию тех аспектов компонента, которые зависят от внешнего вида и поведения. Класс JComponent вызывает методы этого класса для делегирования операций (отрисовки, вычисления компоновки и т. д.), которые могут различаться в зависимости от установленного внешнего вида и поведения. Клиентские программы не должны напрямую вызывать методы этого класса.
См. также:
  • JComponent
  • UIManager

Краткое описание конструкторов

Конструктор Описание
ComponentUI()
Единственный конструктор.

Краткое описание методов

Модификатор и тип Метод Описание
boolean contains(JComponent c, int x, int y)
Возвращает true, если указанное местоположение x,y находится внутри фигуры, заданной внешним видом и поведением для указанного компонента.
static ComponentUI createUI(JComponent c)
Возвращает экземпляр делегата пользовательского интерфейса для указанного компонента.
Accessible getAccessibleChild(JComponent c, int i)
Возвращает дочерний объект i с индексом Accessible.
int getAccessibleChildrenCount(JComponent c)
Возвращает число доступных дочерних объектов.
int getBaseline(JComponent c, int width, int height)
Возвращает базовую линию.
Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как изменяется базовая линия компонента при изменении его размера.
Dimension getMaximumSize(JComponent c)
Возвращает максимальный размер указанного компонента, подходящий для текущего внешнего вида и поведения.
Dimension getMinimumSize(JComponent c)
Возвращает минимальный размер указанного компонента, подходящий для текущего внешнего вида и поведения.
Dimension getPreferredSize(JComponent c)
Возвращает предпочтительный размер указанного компонента, подходящий для текущего внешнего вида и поведения.
void installUI(JComponent c)
Настраивает указанный компонент в соответствии с внешним видом и поведением.
void paint(Graphics g, JComponent c)
Отрисовывает указанный компонент в соответствии с внешним видом и поведением.
void uninstallUI(JComponent c)
Отменяет настройку, выполненную для указанного компонента во время installUI.
void update(Graphics g, JComponent c)
Уведомляет этот делегат пользовательского интерфейса о том, что пришло время отрисовать указанный компонент.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения заданного промежутка реального времени.

Подробное описание конструкторов

ComponentUI

public ComponentUI()
Единственный конструктор. (Вызывается конструкторами подклассов, обычно неявно.)

Подробное описание методов

installUI

public void installUI(JComponent c)
Настраивает указанный компонент в соответствии с оформлением. Этот метод вызывается, когда экземпляр ComponentUI устанавливается в качестве делегата пользовательского интерфейса для указанного компонента. Этот метод должен полностью настроить компонент в соответствии с оформлением, включая следующее:
  1. Установить для компонента значения свойств по умолчанию, таких как цвет, шрифты, границы, значки, непрозрачность и т. д. По возможности значения свойств, заданные клиентской программой, не следует переопределять.
  2. При необходимости установить для компонента LayoutManager.
  3. Создать и добавить к компоненту все необходимые подкомпоненты.
  4. Создать и установить прослушиватели событий для компонента.
  5. Создать и установить для компонента PropertyChangeListener, чтобы должным образом обнаруживать изменения свойств компонента и реагировать на них.
  6. Установить для компонента средства управления с клавиатуры (мнемоники, обход компонентов и т. д.).
  7. Инициализировать все необходимые данные экземпляра.
Параметры:
c — компонент, для которого устанавливается этот делегат пользовательского интерфейса
См. также:
  • uninstallUI(JComponent)
  • JComponent.setUI(ComponentUI)
  • JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
Отменяет настройку, выполненную для указанного компонента во время installUI. Этот метод вызывается, когда экземпляр UIComponent удаляется в качестве делегата пользовательского интерфейса указанного компонента. Этот метод должен отменить настройку, выполненную в installUI, и при этом оставить экземпляр JComponent в чистом состоянии (без лишних прослушивателей, объектов свойств, специфичных для оформления, и т. д.). Это должно включать следующее:
  1. Удалить с компонента все границы, установленные пользовательским интерфейсом.
  2. Удалить с компонента все менеджеры компоновки, установленные пользовательским интерфейсом.
  3. Удалить с компонента все подкомпоненты, добавленные пользовательским интерфейсом.
  4. Удалить с компонента все прослушиватели событий и свойств, добавленные пользовательским интерфейсом.
  5. Удалить с компонента все средства управления с клавиатуры, установленные пользовательским интерфейсом.
  6. Обнулить все выделенные объекты данных экземпляра, чтобы разрешить сборку мусора.
Параметры:
c — компонент, для которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
См. также:
  • installUI(JComponent)
  • JComponent.updateUI()

paint

public void paint(Graphics g, JComponent c)
Отрисовывает указанный компонент в соответствии с оформлением. Этот метод вызывается из метода ComponentUI.update при отрисовке указанного компонента. Подклассам следует переопределить этот метод и использовать указанный объект Graphics для отображения содержимого компонента.
Параметры:
g — контекст Graphics, в котором выполняется отрисовка
c — отрисовываемый компонент; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
См. также:
  • update(Graphics, JComponent)

update

public void update(Graphics g, JComponent c)
Уведомляет этот делегат пользовательского интерфейса о том, что пора отрисовать указанный компонент. Этот метод вызывается методом JComponent при отрисовке указанного компонента.

По умолчанию этот метод заполняет указанный компонент цветом фона, если его свойство opaque равно true, а затем сразу вызывает paint. Обычно подклассам не требуется переопределять этот метод; весь код отрисовки, связанный с оформлением, должен находиться в методе paint.

Параметры:
g — контекст Graphics, в котором выполняется отрисовка
c — отрисовываемый компонент; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
См. также:
  • paint(Graphics, JComponent)
  • JComponent.paintComponent(Graphics)

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Возвращает предпочтительный размер указанного компонента в соответствии с оформлением. Если возвращается null, предпочтительный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным специальным менеджером компоновки). Реализация этого метода по умолчанию возвращает null.
Параметры:
c — компонент, для которого запрашивается предпочтительный размер; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
Возвращает:
объект Dimension, содержащий предпочтительный размер указанного компонента в соответствии с оформлением
См. также:
  • JComponent.getPreferredSize()
  • LayoutManager.preferredLayoutSize(Container)

getMinimumSize

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

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Возвращает максимальный размер указанного компонента в соответствии с оформлением. Если возвращается null, максимальный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным специальным менеджером компоновки). Реализация этого метода по умолчанию вызывает getPreferredSize и возвращает полученное значение.
Параметры:
c — компонент, для которого запрашивается максимальный размер; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
Возвращает:
объект Dimension или null
См. также:
  • JComponent.getMaximumSize()
  • LayoutManager2.maximumLayoutSize(Container)

contains

public boolean contains(JComponent c, int x, int y)
Возвращает true, если указанная позиция x,y находится внутри фигуры, определённой оформлением для указанного компонента. x и y задаются относительно системы координат указанного компонента. Хотя bounds компонента ограничен прямоугольником, этот метод позволяет задать внутри этих границ непрямоугольную фигуру для обнаружения попаданий.
Параметры:
c — компонент, для которого проверяется положение x,y; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами
x — координата точки по оси x
y — координата точки по оси y
Возвращает:
true, если указанная позиция x,y находится внутри фигуры, определённой оформлением для данного компонента
См. также:
  • JComponent.contains(int, int)
  • Component.contains(int, int)

createUI

public static ComponentUI createUI(JComponent c)
Возвращает экземпляр делегата пользовательского интерфейса для указанного компонента. Каждый подкласс должен предоставить собственный статический метод createUI, возвращающий экземпляр этого подкласса делегата пользовательского интерфейса. Если подкласс делегата пользовательского интерфейса не содержит состояния, он может возвращать экземпляр, совместно используемый несколькими компонентами. Если делегат пользовательского интерфейса содержит состояние, он должен возвращать новый экземпляр для каждого компонента. Реализация этого метода по умолчанию вызывает ошибку, поскольку этот метод никогда не должен вызываться.
Параметры:
c — объект JComponent, для которого создаётся делегат пользовательского интерфейса
Возвращает:
объект ComponentUI для c

getBaseline

public int getBaseline(JComponent c, int width, int height)
Возвращает базовую линию. Базовая линия отсчитывается от верхнего края компонента. Этот метод предназначен главным образом для LayoutManager, чтобы выравнивать компоненты по базовой линии. Возвращаемое значение меньше 0 означает, что у этого компонента нет подходящей базовой линии и LayoutManager не должны выравнивать этот компонент по базовой линии.

Этот метод возвращает -1. Подклассам, имеющим значимую базовую линию, следует соответствующим образом переопределить метод.

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

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как изменяется базовая линия компонента при изменении его размера. Этот метод предназначен главным образом для менеджеров компоновки и конструкторов графического интерфейса.

Этот метод возвращает BaselineResizeBehavior.OTHER. Подклассам, поддерживающим базовую линию, следует соответствующим образом переопределить метод.

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

getAccessibleChildrenCount

public int getAccessibleChildrenCount(JComponent c)
Возвращает количество доступных дочерних элементов объекта. Если все дочерние элементы этого объекта реализуют Accessible, этот метод должен возвращать количество дочерних элементов объекта. Пользовательские интерфейсы могут переопределить этот метод, если они представляют на экране области, которые можно рассматривать как компоненты, но для отображения этих областей фактические компоненты не используются. Примечание: начиная с версии v1.3 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleChildrenCount() вместо этого метода.
Параметры:
c — JComponent, для которого требуется получить количество доступных дочерних элементов
Возвращает:
количество доступных дочерних элементов объекта
См. также:
  • getAccessibleChild(JComponent, int)

getAccessibleChild

public Accessible getAccessibleChild(JComponent c, int i)
Возвращает дочерний элемент Accessible объекта с индексом i. Возможно, пользовательским интерфейсам потребуется переопределить этот метод, если они отображают на экране области, которые можно представить как компоненты, но для отображения этих областей фактические компоненты не используются.

Примечание. Начиная с версии 1.3 разработчикам рекомендуется вместо этого метода вызывать Component.AccessibleAWTComponent.getAccessibleChild().

Параметры:
c — JComponent, для которого нужно получить дочерний объект
i — индекс дочернего элемента, отсчитываемый от нуля
Возвращает:
дочерний элемент Accessible объекта с индексом i
См. также:
  • getAccessibleChildrenCount(JComponent)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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