Класс 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 в чистом состоянии (без лишних обработчиков, объектов свойств, специфичных для внешнего вида и т. д.). Это должно включать следующее:
- Удалить любые границы, установленные пользовательским интерфейсом, с компонента.
- Удалить любые менеджеры компоновки, установленные пользовательским интерфейсом, с компонента.
- Удалить любые подкомпоненты, добавленные пользовательским интерфейсом, с компонента.
- Удалить любые обработчики событий/свойств, добавленные пользовательским интерфейсом, с компонента.
- Удалить любой установленный пользовательским интерфейсом интерфейс клавиатуры с компонента.
- Установить в нуль все выделенные объекты данных экземпляра, чтобы позволить сборку мусора.
- Параметры:
-
c- компонент, из которого удаляется этот делегат пользовательского интерфейса; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - См. также:
-
installUI(javax.swing.JComponent),JComponent.updateUI()
paint
public void paint(Graphics g,
JComponent c) Рисует указанный компонент в соответствии с внешним видом. Этот метод вызывается из метода ComponentUI.update при рисовании указанного компонента. Подклассы должны переопределять этот метод и использовать указанный объект Graphics для отображения содержимого компонента.
- Параметры:
-
g- контекстGraphicsдля рисования -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - См. также:
update(java.awt.Graphics, javax.swing.JComponent)
update
public void update(Graphics g,
JComponent c) Уведомляет этот делегат пользовательского интерфейса о том, что пришло время нарисовать указанный компонент. Этот метод вызывается методом JComponent при рисовании указанного компонента.
По умолчанию этот метод заполняет указанный компонент его фоновым цветом, если свойство opaque имеет значение true, а затем немедленно вызывает paint. Как правило, этот метод не должен переопределяться подклассами; весь код отрисовки внешнего вида должен находиться в методе paint.
- Параметры:
-
g- контекстGraphicsдля рисования -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - См. также:
-
paint(java.awt.Graphics, javax.swing.JComponent),JComponent.paintComponent(java.awt.Graphics)
getPreferredSize
public Dimension getPreferredSize(JComponent c)
Возвращает предпочтительный размер указанного компонента, соответствующий внешнему виду. Если null возвращается, предпочтительный размер будет вычисляться менеджером компоновки компонента (это предпочтительный подход для любого компонента со специфическим установленным менеджером компоновки). Метод по умолчанию возвращает null.
- Параметры:
-
c- компонент, размер которого запрошен; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - См. также:
-
JComponent.getPreferredSize(),LayoutManager.preferredLayoutSize(java.awt.Container)
getMinimumSize
public Dimension getMinimumSize(JComponent c)
Возвращает минимальный размер указанного компонента, соответствующий внешнему виду. Если null возвращается, минимальный размер будет вычисляться менеджером компоновки компонента (это предпочтительный подход для любого компонента со специфическим установленным менеджером компоновки). Реализация по умолчанию вызывает getPreferredSize и возвращает это значение.
- Параметры:
-
c- компонент, минимальный размер которого запрошен; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
-
JComponent.getMinimumSize(),LayoutManager.minimumLayoutSize(java.awt.Container),getPreferredSize(javax.swing.JComponent)
getMaximumSize
public Dimension getMaximumSize(JComponent c)
Возвращает максимальный размер указанного компонента, соответствующий внешнему виду. Если null возвращается, максимальный размер будет вычисляться менеджером компоновки компонента (это предпочтительный подход для любого компонента со специфическим установленным менеджером компоновки). Реализация по умолчанию вызывает getPreferredSize и возвращает это значение.
- Параметры:
-
c- компонент, максимальный размер которого запрошен; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
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; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами -
x- координата x точки -
y- координата y точки - См. также:
-
JComponent.contains(int, int),Component.contains(int, int)
createUI
public static ComponentUI createUI(JComponent c)
Возвращает экземпляр делегата пользовательского интерфейса для указанного компонента. Каждый подкласс должен предоставить свой собственный статический метод createUI, который возвращает экземпляр подкласса делегата пользовательского интерфейса. Если делегат пользовательского интерфейса бессостоятельный, он может вернуть экземпляр, используемый несколькими компонентами. Если делегат пользовательского интерфейса состоятельный, он должен возвращать новый экземпляр на каждый компонент. Реализация по умолчанию выбрасывает ошибку, так как она никогда не должна вызываться.
getBaseline
public int getBaseline(JComponent c,
int width,
int height) Возвращает линию базовой строки. Линия базовой строки измеряется от верхней части компонента. Этот метод в первую очередь предназначен для LayoutManager для выравнивания компонентов по их базовой строке. Значение меньше 0 указывает, что у этого компонента нет разумной линии базовой строки и что LayoutManager не должны выравнивать этот компонент по линии базовой строки.
Этот метод возвращает -1. Подклассы, имеющие осмысленную линию базовой строки, должны переопределить ее соответствующим образом.
- Параметры:
-
c- компонент, для которого запрашивается базовая строка -
width- ширина для получения базовой строки -
height- высота для получения базовой строки - Возвращает:
- базовую строку или значение < 0, указывающее, что нет разумной базовой строки
- Исключения:
-
NullPointerException- еслиcравноnull -
IllegalArgumentException- если ширина или высота меньше 0 - С момента:
- 1.6
- См. также:
JComponent.getBaseline(int,int)
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как меняется линия базовой строки компонента при изменении размера. Этот метод в первую очередь предназначен для менеджеров компоновки и создателей графического интерфейса.
Этот метод возвращает BaselineResizeBehavior.OTHER. Подклассы, поддерживающие базовую строку, должны переопределить ее соответствующим образом.
- Параметры:
-
c- компонент, для которого запрашивается поведение изменения размера базовой строки - Возвращает:
- перечисление, указывающее, как меняется базовая строка при изменении размера компонента
- Исключения:
-
NullPointerException- еслиcравноnull - С момента:
- 1.6
- См. также:
JComponent.getBaseline(int, int)
getAccessibleChildrenCount
public int getAccessibleChildrenCount(JComponent c)
Возвращает количество доступных дочерних элементов в объекте. Если все дочерние элементы этого объекта реализуют Accessible, этот метод должен вернуть количество дочерних элементов этого объекта. Интерфейсы пользователя могут переопределить этот метод, если они представляют области на экране, которые можно рассматривать как компоненты, но фактические компоненты не используются для представления этих областей. Примечание: начиная с версии v1.3, рекомендуется, чтобы разработчики вызывали Component.AccessibleAWTComponent.getAccessibleChildrenCount() вместо этого метода.
- Возвращает:
- количество доступных дочерних элементов в объекте
- См. также:
getAccessibleChild(javax.swing.JComponent, int)
getAccessibleChild
public Accessible getAccessibleChild(JComponent c,
int i) Возвращает i-й Accessible дочерний элемент объекта. Интерфейсы пользователя могут переопределить этот метод, если они представляют области на экране, которые можно рассматривать как компоненты, но фактические компоненты не используются для представления этих областей.
Примечание: начиная с версии v1.3, рекомендуется, чтобы разработчики вызывали Component.AccessibleAWTComponent.getAccessibleChild() вместо этого метода.
- Параметры:
-
i- индекс дочернего элемента (от нуля) - Возвращает:
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.