Класс 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
Базовый класс для всех объектов-делегатов UI в архитектуре Swing с настраиваемым внешним видом. Объект-делегат UI для компонента Swing отвечает за реализацию аспектов компонента, зависящих от внешнего вида. Класс JComponent вызывает методы из этого класса для делегирования операций (рисование, вычисление макета и т.д.), которые могут различаться в зависимости от установленного внешнего вида. Клиентские программы не должны вызывать методы этого класса напрямую.
- См. также:
-
JComponent,UIManager
Конструкторы
| Конструктор | Описание |
|---|---|
ComponentUI() | Единственный конструктор. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | contains(JComponent c,
int x,
int y) | Возвращает |
static ComponentUI | createUI(JComponent c) | Возвращает экземпляр делегата UI для указанного компонента. |
Accessible | getAccessibleChild(JComponent c,
int i) | Возвращает |
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) | Отменяет настройку, выполненную для указанного компонента во время |
void | update(Graphics g,
JComponent c) | Уведомляет этот делегат UI о том, что пришло время нарисовать указанный компонент. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
ComponentUI
public ComponentUI()
Единственный конструктор. (Для вызова конструкторами подклассов, обычно неявным).
Методы
installUI
public void installUI(JComponent c)
Настраивает указанный компонент должным образом для внешнего вида и ощущения. Этот метод вызывается, когда экземпляр ComponentUI устанавливается в качестве делегата пользовательского интерфейса для указанного компонента. Этот метод должен полностью настроить компонент для внешнего вида и ощущения, включая следующее:
- Установить значения по умолчанию для свойств цвета, шрифтов, границ, значков, непрозрачности и т. д. на компоненте. По возможности значения свойств, инициализированные программой-клиентом, не должны переопределяться.
- Установить
LayoutManagerна компоненте, если необходимо. - Создать/добавить любые необходимые подкомпоненты к компоненту.
- Создать/установить обработчики событий на компоненте.
- Создать/установить
PropertyChangeListenerна компоненте, чтобы корректно обнаруживать и реагировать на изменения свойств компонента. - Установить пользовательский интерфейс клавиатуры (мнемоники, навигация и т. д.) на компоненте.
- Инициализировать любые соответствующие данные экземпляра.
- Параметры:
-
c- компонент, на котором устанавливается этот делегат пользовательского интерфейса - См. также:
-
uninstallUI(javax.swing.JComponent),JComponent.setUI(javax.swing.plaf.ComponentUI),JComponent.updateUI()
uninstallUI
public void uninstallUI(JComponent c)
Отменяет настройки, выполненные для указанного компонента во время installUI. Этот метод вызывается, когда экземпляр UIComponent удаляется в качестве делегата пользовательского интерфейса для указанного компонента. Этот метод должен отменить настройки, выполненные в installUI, и позаботиться о том, чтобы экземпляр JComponent находился в чистом состоянии (без лишних обработчиков, объектов свойств, специфичных для внешнего вида и ощущения и т. д.). Это должно включать следующее:
- Удалить любые установленные UI-границы из компонента.
- Удалить любые установленные UI-менеджеры компоновки из компонента.
- Удалить любые добавленные UI-подкомпоненты из компонента.
- Удалить любые добавленные UI-обработчики событий/свойств из компонента.
- Удалить любой установленный UI-пользовательский интерфейс клавиатуры из компонента.
- Установить в null любые выделенные объекты данных экземпляра, чтобы разрешить сборку мусора.
- Параметры:
-
c- компонент, из которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
-
installUI(javax.swing.JComponent),JComponent.updateUI()
paint
public void paint(Graphics g,
JComponent c) Рисует указанный компонент должным образом для внешнего вида и ощущения. Этот метод вызывается из метода ComponentUI.update при отрисовке указанного компонента. Подклассы должны переопределять этот метод и использовать указанный объект Graphics для рендеринга содержимого компонента.
- Параметры:
-
g- контекстGraphicsдля рисования -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
update(java.awt.Graphics, javax.swing.JComponent)
update
public void update(Graphics g,
JComponent c) Уведомляет этот делегат пользовательского интерфейса о том, что пришло время нарисовать указанный компонент. Этот метод вызывается JComponent при отрисовке указанного компонента.
По умолчанию этот метод заполняет указанный компонент его цветом фона, если его свойство opaque равно true, а затем немедленно вызывает paint. В общем случае этот метод не требуется переопределять подклассами; весь код рендеринга внешнего вида и ощущения должен находиться в методе paint.
- Параметры:
-
g- контекстGraphicsдля рисования -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
-
paint(java.awt.Graphics, javax.swing.JComponent),JComponent.paintComponent(java.awt.Graphics)
getPreferredSize
public Dimension getPreferredSize(JComponent c)
Возвращает предпочтительный размер указанного компонента, соответствующий внешнему виду и ощущению. Если возвращается null, предпочтительный размер будет рассчитан менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным конкретным менеджером компоновки). Реализация по умолчанию этого метода возвращает null.
- Параметры:
-
c- компонент, размер которого запрашивается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimension, содержащий предпочтительный размер заданного компонента, соответствующий внешнему виду и ощущению - См. также:
-
JComponent.getPreferredSize(),LayoutManager.preferredLayoutSize(java.awt.Container)
getMinimumSize
public Dimension getMinimumSize(JComponent c)
Возвращает минимальный размер указанного компонента, соответствующий внешнему виду и ощущению. Если возвращается null, минимальный размер будет рассчитан менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным конкретным менеджером компоновки). Реализация по умолчанию этого метода вызывает getPreferredSize и возвращает это значение.
- Параметры:
-
c- компонент, минимальный размер которого запрашивается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
-
JComponent.getMinimumSize(),LayoutManager.minimumLayoutSize(java.awt.Container),getPreferredSize(javax.swing.JComponent)
getMaximumSize
public Dimension getMaximumSize(JComponent c)
Возвращает максимальный размер указанного компонента, соответствующий внешнему виду и ощущению. Если возвращается null, максимальный размер будет рассчитан менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным конкретным менеджером компоновки). Реализация по умолчанию этого метода вызывает getPreferredSize и возвращает это значение.
- Параметры:
-
c- компонент, максимальный размер которого запрашивается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
-
JComponent.getMaximumSize(),LayoutManager2.maximumLayoutSize(java.awt.Container)
contains
public boolean contains(JComponent c,
int x,
int y) Возвращает true, если указанные координаты x, y находятся внутри определенной формы внешнего вида и ощущения указанного компонента. x и y определены относительно системы координат указанного компонента. Хотя область компонента ограничена прямоугольником, этот метод предоставляет возможность определения непрямоугольной формы в этих границах для целей определения попадания.
- Параметры:
-
c- компонент, в котором запрашивается местоположение x, y; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами -
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(javax.swing.JComponent, int)
getAccessibleChild
public Accessible getAccessibleChild(JComponent c,
int i) Возвращает i-й Accessible дочерний элемент объекта. Графические интерфейсы могут переопределить этот метод, если они отображают области на экране, которые можно рассматривать как компоненты, но фактические компоненты не используются для отображения этих областей.
Примечание: начиная с версии 1.3, рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleChild() вместо этого метода.
- Параметры:
-
c-JComponentдля получения дочернего объекта -
i- индекс дочернего элемента (нумерация с 0) - Возвращает:
i-йAccessibleдочерний элемент объекта- См. также:
getAccessibleChildrenCount(javax.swing.JComponent)
© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/plaf/ComponentUI.html