Класс ComponentView
- Все реализуемые интерфейсы:
SwingConstants
- Прямые подклассы:
FormView, ObjectView
public class ComponentView extends View
Компонент размещается относительно базовой линии текста в соответствии со значением, возвращаемым Component.getAlignmentY. Для компонентов Swing это значение удобно задавать с помощью метода JComponent.setAlignmentY. Например, установка значения 0.75 приведёт к тому, что 75 процентов компонента окажутся выше базовой линии, а 25 процентов — ниже неё.
Этот класс реализован с учётом дополнительных требований, необходимых для корректной работы при наличии нескольких потоков (например, при асинхронном уведомлении об изменениях модели): он гарантирует, что весь доступ к компоненту осуществляется в потоке обработки событий.
Используемый компонент определяется возвращаемым значением метода createComponent. Реализация этого метода по умолчанию возвращает компонент, хранящийся в элементе как атрибут (посредством вызова StyleConstants.getComponent). Ограничение такого поведения заключается в том, что компонент нельзя использовать более чем в одном текстовом компоненте (то есть с общей моделью). Подклассы могут снять это ограничение, реализовав createComponent таким образом, чтобы он действительно создавал компонент на основе некоторой спецификации, содержащейся в атрибутах. Класс ObjectView из пакета html — пример реализации ComponentView, поддерживающей несколько представлений компонентов для общей модели.
Краткое описание полей
Поля, объявленные в классе View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BadBreakWeight |
Вес, указывающий, что представление — неподходящее место для переноса при форматировании. |
static final int |
ExcellentBreakWeight |
Вес, указывающий, что представление поддерживает перенос и является очень подходящим местом для него. |
static final int |
ForcedBreakWeight |
Вес, указывающий, что представление поддерживает перенос и его необходимо перенести для корректного отображения в представлении, форматирующем дочерние элементы с помощью переносов. |
static final int |
GoodBreakWeight |
Вес, указывающий, что представление поддерживает перенос, но, вероятно, существуют более подходящие места. |
static final int |
X_AXIS |
Ось для операций форматирования и переноса. |
static final int |
Y_AXIS |
Ось для операций форматирования и переноса. |
Поля, объявленные в интерфейсе SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BOTTOM |
Константа ориентации блока, указывающая его нижнюю сторону. |
static final int |
CENTER |
Центральная позиция в области. |
static final int |
EAST |
Направление по компасу на восток (вправо). |
static final int |
HORIZONTAL |
Горизонтальная ориентация. |
static final int |
LEADING |
Обозначает передний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
LEFT |
Константа ориентации блока, указывающая его левую сторону. |
static final int |
NEXT |
Обозначает следующее направление в последовательности. |
static final int |
NORTH |
Направление по компасу на север (вверх). |
static final int |
NORTH_EAST |
Направление по компасу на северо-восток (вверх и вправо). |
static final int |
NORTH_WEST |
Направление по компасу на северо-запад (вверх и влево). |
static final int |
PREVIOUS |
Обозначает предыдущее направление в последовательности. |
static final int |
RIGHT |
Константа ориентации блока, указывающая его правую сторону. |
static final int |
SOUTH |
Направление по компасу на юг (вниз). |
static final int |
SOUTH_EAST |
Направление по компасу на юго-восток (вниз и вправо). |
static final int |
SOUTH_WEST |
Направление по компасу на юго-запад (вниз и влево). |
static final int |
TOP |
Константа ориентации блока, указывающая его верхнюю сторону. |
static final int |
TRAILING |
Обозначает задний край текста для языков с направлением письма слева направо и справа налево. |
static final int |
VERTICAL |
Вертикальная ориентация. |
static final int |
WEST |
Направление по компасу на запад (влево). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ComponentView |
Создаёт новый объект ComponentView. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Component |
createComponent() |
Создаёт компонент, связанный с этим представлением. |
float |
getAlignment |
Определяет требуемое выравнивание этого представления вдоль оси. |
final Component |
getComponent() |
Получает компонент, связанный с представлением. |
float |
getMaximumSpan |
Определяет максимальную протяжённость этого представления вдоль оси. |
float |
getMinimumSpan |
Определяет минимальную протяжённость этого представления вдоль оси. |
float |
getPreferredSpan |
Определяет предпочтительную протяжённость этого представления вдоль оси. |
Shape |
modelToView |
Обеспечивает преобразование координат из пространства модели в пространство представления. |
void |
paint |
Фактическая отрисовка выполняется естественным образом благодаря связи компонента с его родительским контейнером (тем же контейнером, в котором размещено это представление). |
void |
setParent |
Задаёт родительское представление для дочернего представления. |
int |
viewToModel |
Обеспечивает преобразование координат из пространства представления в логическое пространство координат модели. |
Методы, объявленные в классе View
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет одно дочернее представление. |
View |
breakView |
Пытается перенести это представление по указанной оси. |
void |
changedUpdate |
Документ уведомляет об изменении атрибутов в области, за которую отвечает это представление. |
View |
createFragment |
Создаёт представление, описывающее часть элемента. |
protected void |
forwardUpdate |
Передаёт указанный DocumentEvent дочерним представлениям, которые необходимо уведомить об изменении модели. |
protected void |
forwardUpdateToView |
Передаёт DocumentEvent указанному дочернему представлению. |
AttributeSet |
getAttributes() |
Получает атрибуты для отрисовки. |
int |
getBreakWeight |
Определяет, насколько удачно в этом представлении место для переноса. |
Shape |
getChildAllocation |
Получает область размещения указанного дочернего представления. |
Container |
getContainer() |
Получает контейнер, в котором размещено представление. |
Document |
getDocument() |
Получает модель, связанную с представлением. |
Element |
getElement() |
Получает структурную часть объекта, с которой сопоставлено это представление. |
int |
getEndOffset() |
Получает часть модели, за которую отвечает это представление. |
Graphics |
getGraphics() |
Получает Graphics для отрисовки. |
int |
getNextVisualPositionFrom |
Позволяет определить следующее визуально представленное место в модели, где можно разместить курсор. |
View |
getParent() |
Возвращает родительское представление. |
int |
getResizeWeight |
Определяет возможность изменения размера представления вдоль указанной оси. |
int |
getStartOffset() |
Получает часть модели, за которую отвечает это представление. |
String |
getToolTipText |
Возвращает текст всплывающей подсказки в указанном месте. |
View |
getView |
Получает n-е дочернее представление. |
int |
getViewCount() |
Возвращает количество представлений в этом представлении. |
ViewFactory |
getViewFactory() |
Получает реализацию ViewFactory, передающую данные в иерархию представлений. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий указанной позиции в представлении. |
int |
getViewIndex |
Возвращает индекс дочернего представления, соответствующий указанной позиции в модели. |
void |
insert |
Вставляет одно дочернее представление. |
void |
insertUpdate |
Уведомляет о вставке данных в документ в области, за которую отвечает это представление. |
boolean |
isVisible() |
Возвращает логическое значение, указывающее, видно ли представление. |
Shape |
modelToView |
Устарело. |
Shape |
modelToView |
Для указанной области обеспечивает преобразование координат из пространства модели документа в пространство координат представления. |
void |
preferenceChanged |
Дочерние представления могут вызвать этот метод у родительского, чтобы сообщить об изменении предпочтений, которые необходимо учесть при компоновке. |
void |
remove |
Удаляет дочернее представление в указанной позиции. |
void |
removeAll() |
Удаляет все дочерние представления. |
void |
removeUpdate |
Уведомляет об удалении данных из документа в области, за которую отвечает это представление. |
void |
replace |
Заменяет дочерние представления. |
void |
setSize |
Задаёт размер представления. |
protected boolean |
updateChildren |
Обновляет дочерние представления в ответ на уведомление об изменении модели, если запись об изменении относится к элементу, за который отвечает это представление. |
protected void |
updateLayout |
Обновляет компоновку в ответ на уведомление об изменении модели. |
int |
viewToModel |
Устарело. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
Подробное описание конструкторов
ComponentView
public ComponentView(Element elem)
- Параметры:
-
elem— элемент для декорирования
Подробное описание методов
createComponent
protected Component createComponent()
- Возвращает:
- компонент, связанный с этим представлением
getComponent
public final Component getComponent()
- Возвращает:
- компонент, связанный с представлением
paint
public void paint(Graphics g, Shape a)
getPreferredSpan
public float getPreferredSpan(int axis)
- Определено в:
-
getPreferredSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяжённость, в пределах которой предпочтительно отрисовать представление (>=0). Обычно представлению предлагают отрисоваться в пределах возвращённой протяжённости, но это не гарантируется. Родительское представление может изменить размер или перенести это представление.
- Вызывает исключение:
-
IllegalArgumentException— если указана недопустимая ось
getMinimumSpan
public float getMinimumSpan(int axis)
- Переопределяет:
-
getMinimumSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяжённость, в пределах которой предпочтительно отрисовать представление (>=0). Обычно представлению предлагают отрисоваться в пределах возвращённой протяжённости, но это не гарантируется. Родительское представление может изменить размер или перенести это представление.
- Вызывает исключение:
-
IllegalArgumentException— если указана недопустимая ось - См. также:
getMaximumSpan
public float getMaximumSpan(int axis)
- Переопределяет:
-
getMaximumSpanв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- протяжённость, в пределах которой предпочтительно отрисовать представление (>=0). Обычно представлению предлагают отрисоваться в пределах возвращённой протяжённости, но это не гарантируется. Родительское представление может изменить размер или перенести это представление.
- Вызывает исключение:
-
IllegalArgumentException— если указана недопустимая ось - См. также:
getAlignment
public float getAlignment(int axis)
- Переопределяет:
-
getAlignmentв классеView - Параметры:
-
axis— может быть View.X_AXIS или View.Y_AXIS - Возвращает:
- требуемое выравнивание. Значение должно находиться в диапазоне от 0.0 до 1.0: 0 означает выравнивание по началу координат, а 1.0 — выравнивание на расстоянии полной протяжённости от начала координат. Значение выравнивания 0.5 соответствует центру представления.
setParent
public void setParent(View p)
getContainer. Если параметр родительского представления равен null, это представление очищается, поэтому компонент удаляется из родительского контейнера. Изменение иерархии компонентов затрагивает блокировку компонента — единственный аспект, небезопасный для иерархии View. Поэтому эта функция выполняется немедленно в потоке обработки событий или ставится в очередь событий, если вызвана из другого потока (при уведомлении об изменении в результате асинхронного обновления).
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
- Определено в:
-
modelToViewв классеView - Параметры:
-
pos— позиция для преобразования >=0 -
a— выделенная область для отрисовки -
b— смещение в сторону предыдущего или следующего символа, представленного смещением, если позиция является границей двух представлений;bбудет иметь одно из следующих значений:-
Position.Bias.Forward -
Position.Bias.Backward
-
- Возвращает:
- возвращает ограничивающий прямоугольник указанной позиции
- Вызывает исключение:
-
BadLocationException— если указанная позиция не соответствует допустимому месту в связанном документе - См. также:
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
- Определено в:
-
viewToModelв классеView - Параметры:
-
x— координата X >=0 -
y— координата Y >=0 -
a— выделенная область для отрисовки -
bias— возвращаемое смещение - Возвращает:
- место в модели, которое наилучшим образом соответствует указанной точке в представлении
- См. также:
© 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.