Класс 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
JComponent вызывает методы этого класса, чтобы делегировать операции (отрисовку, вычисление компоновки и т. д.), которые могут различаться в зависимости от установленной темы оформления. Клиентские программы не должны напрямую вызывать методы этого класса.
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ComponentUI() |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Возвращает true, если указанная точка x,y находится внутри формы компонента, заданной темой оформления. |
static ComponentUI |
createUI |
Возвращает экземпляр делегата пользовательского интерфейса для указанного компонента. |
Accessible |
getAccessibleChild |
Возвращает i-й дочерний элемент Accessible объекта. |
int |
getAccessibleChildrenCount |
Возвращает количество доступных дочерних элементов объекта. |
int |
getBaseline |
Возвращает базовую линию. |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior |
Возвращает значение перечисления, указывающее, как изменяется базовая линия компонента при изменении его размера. |
Dimension |
getMaximumSize |
Возвращает максимальный размер указанного компонента, соответствующий теме оформления. |
Dimension |
getMinimumSize |
Возвращает минимальный размер указанного компонента, соответствующий теме оформления. |
Dimension |
getPreferredSize |
Возвращает предпочтительный размер указанного компонента, соответствующий теме оформления. |
void |
installUI |
Настраивает указанный компонент в соответствии с темой оформления. |
void |
paint |
Отрисовывает указанный компонент в соответствии с темой оформления. |
void |
uninstallUI |
Отменяет настройки, выполненные для указанного компонента во время installUI. |
void |
update |
Уведомляет этот делегат пользовательского интерфейса о том, что пришло время отрисовать указанный компонент. |
Подробное описание конструкторов
ComponentUI
public ComponentUI()
Подробное описание методов
installUI
public void installUI(JComponent c)
ComponentUI в качестве делегата пользовательского интерфейса указанного компонента. Этот метод должен полностью настроить компонент для оформления, включая следующее: - Установить для компонента значения свойств по умолчанию: цвет, шрифты, границы, значки, непрозрачность и т. д. По возможности значения свойств, заданные клиентской программой, не должны переопределяться.
- При необходимости установить для компонента
LayoutManager. - Создать и добавить к компоненту все необходимые вложенные компоненты.
- Создать и установить обработчики событий для компонента.
- Создать и установить для компонента
PropertyChangeListener, чтобы соответствующим образом обнаруживать изменения свойств компонента и реагировать на них. - Установить для компонента элементы управления с клавиатуры (мнемоники, обход и т. д.).
- Инициализировать необходимые данные экземпляра.
- Параметры:
-
c— компонент, для которого устанавливается этот делегат пользовательского интерфейса - См. также:
uninstallUI
public void uninstallUI(JComponent c)
installUI. Этот метод вызывается при удалении экземпляра UIComponent в качестве делегата пользовательского интерфейса указанного компонента. Этот метод должен отменить настройки, выполненные в installUI, оставив экземпляр JComponent в чистом состоянии (без лишних обработчиков событий, объектов свойств, специфичных для оформления, и т. д.). Это должно включать следующее: - Удалить с компонента все границы, установленные пользовательским интерфейсом.
- Удалить с компонента все менеджеры компоновки, установленные пользовательским интерфейсом.
- Удалить из компонента все вложенные компоненты, добавленные пользовательским интерфейсом.
- Удалить из компонента все обработчики событий и свойств, добавленные пользовательским интерфейсом.
- Удалить из компонента все установленные пользовательским интерфейсом элементы управления с клавиатуры.
- Обнулить все выделенные объекты данных экземпляра, чтобы разрешить сборку мусора.
- Параметры:
-
c— компонент, из которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - См. также:
paint
public void paint(Graphics g, JComponent c)
ComponentUI.update при отрисовке указанного компонента. Подклассам следует переопределить этот метод и использовать указанный объект Graphics для отображения содержимого компонента.- Параметры:
-
g— контекстGraphics, в котором выполняется отрисовка -
c— отрисовываемый компонент; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - См. также:
update
public void update(Graphics g, JComponent c)
JComponent при отрисовке указанного компонента. По умолчанию этот метод заполняет указанный компонент цветом фона, если его свойство opaque имеет значение true, а затем сразу вызывает paint. Как правило, подклассам не требуется переопределять этот метод; весь код отрисовки оформления должен находиться в методе paint.
- Параметры:
-
g— контекстGraphics, в котором выполняется отрисовка -
c— отрисовываемый компонент; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - См. также:
getPreferredSize
public Dimension getPreferredSize(JComponent c)
null, предпочтительный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для компонентов, у которых установлен определенный менеджер компоновки). Реализация этого метода по умолчанию возвращает null.- Параметры:
-
c— компонент, предпочтительный размер которого запрашивается; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - Возвращает:
- объект
Dimension, содержащий предпочтительный размер указанного компонента, соответствующий оформлению - См. также:
getMinimumSize
public Dimension getMinimumSize(JComponent c)
null, минимальный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для компонентов, у которых установлен определенный менеджер компоновки). Реализация этого метода по умолчанию вызывает getPreferredSize и возвращает полученное значение.- Параметры:
-
c— компонент, минимальный размер которого запрашивается; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
getMaximumSize
public Dimension getMaximumSize(JComponent c)
null, максимальный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для компонентов, у которых установлен определенный менеджер компоновки). Реализация этого метода по умолчанию вызывает getPreferredSize и возвращает полученное значение.- Параметры:
-
c— компонент, максимальный размер которого запрашивается; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса не содержит состояния и совместно используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
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находится внутри фигуры данного компонента, определенной оформлением - См. также:
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
- См. также:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Этот метод возвращает BaselineResizeBehavior.OTHER. Подклассам, поддерживающим базовую линию, следует переопределить его соответствующим образом.
- Параметры:
-
c—JComponent, для которого возвращается поведение базовой линии при изменении размера - Возвращает:
- перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
- Выбрасывает:
-
NullPointerException— еслиcравноnull - С версии:
- 1.6
- См. также:
getAccessibleChildrenCount
public int getAccessibleChildrenCount(JComponent c)
Accessible, этот метод должен возвращать количество дочерних элементов объекта. Пользовательские интерфейсы могут переопределить этот метод, если они отображают области экрана, которые можно рассматривать как компоненты, но для их отображения не используются реальные компоненты. Примечание. Начиная с версии 1.3 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleChildrenCount() вместо этого метода.- Параметры:
-
c—JComponent, для которого требуется получить количество доступных дочерних элементов - Возвращает:
- количество доступных дочерних элементов объекта
- См. также:
getAccessibleChild
public Accessible getAccessibleChild(JComponent c, int i)
Accessible объекта с индексом i. Пользовательским интерфейсам может потребоваться переопределить этот метод, если они отображают на экране области, которые можно рассматривать как компоненты, но для отображения этих областей фактические компоненты не используются. Примечание: начиная с версии 1.3 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleChild() вместо этого метода.
- Параметры:
-
c—JComponent, для которого нужно получить дочерний объект -
i— индекс дочернего элемента, отсчитываемый от нуля - Возвращает:
- дочерний элемент
Accessibleобъекта с индексомi - См. также:
© 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