Класс 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, поддерживающей несколько представлений компонента общей модели.
Краткое описание полей
Поля, объявленные в классе javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
Поля, объявленные в интерфейсе javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, 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 |
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели. |
Методы, объявленные в классе javax.swing.text.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
Подробное описание конструкторов
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, это представление удаляется, поэтому компонент удаляется из своего родителя. Изменение иерархии компонентов затронет блокировку компонента, что является единственной вещью, которая не безопасна в иерархии представлений. Поэтому эта функциональность выполняется немедленно, если она находится на потоке событий, или помещается в очередь событий, если вызывается из другого потока (уведомление об изменении из асинхронного обновления).
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/ComponentView.html