Класс 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)
- Определено в:
-
paintв классеView - Параметры:
-
g- контекст графики -
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, это представление очищается, и компонент удаляется из его родителя. Изменение иерархии компонентов затрагивает блокировку компонента, что является единственным элементом, недоступным для иерархии представлений. Поэтому данная функциональность выполняется немедленно, если она находится на потоке событий, или помещается в очередь событий, если вызвана из другого потока (уведомление об изменении из асинхронного обновления).
- Переопределяет:
-
setParentв классеView - Параметры:
-
p- родитель
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, 2021, 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/17/docs/api/java.desktop/javax/swing/text/ComponentView.html