Spec-Zone.ru › OpenJDK 25

Класс 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

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

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, этот метод должен возвращать количество дочерних элементов объекта. Пользовательские интерфейсы могут переопределить этот метод, если они отображают области экрана, которые можно рассматривать как компоненты, но для их отображения не используются реальные компоненты. Примечание. Начиная с версии 1.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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/plaf/ComponentUI.html

Spec-Zone.ru

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