Spec-Zone.ru › OpenJDK 24

Класс ComponentView

java.lang.Object
javax.swing.text.View
javax.swing.text.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(Element elem)
Создаёт новый объект ComponentView.

Краткое описание методов

Модификатор и тип Метод Описание
protected Component createComponent()
Создаёт компонент, связанный с этим представлением.
float getAlignment(int axis)
Определяет желаемое выравнивание для этого представления вдоль оси.
final Component getComponent()
Получает компонент, связанный с представлением.
float getMaximumSpan(int axis)
Определяет максимальный размах для этого представления вдоль оси.
float getMinimumSpan(int axis)
Определяет минимальный размах для этого представления вдоль оси.
float getPreferredSpan(int axis)
Определяет предпочтительный размах для этого представления вдоль оси.
Shape modelToView(int pos, Shape a, Position.Bias b)
Предоставляет отображение из координатного пространства модели в координатное пространство представления.
void paint(Graphics g, Shape a)
Действительное поведение рисования происходит естественным образом из связи, которая у компонента есть с его контейнером-родителем (тем же контейнером, в котором находится это представление).
void setParent(View p)
Устанавливает родителя для дочернего представления.
int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.

Методы, объявленные в классе 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

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

ComponentView

public ComponentView(Element elem)
Создает новый объект ComponentView.
Параметры:
elem - элемент для оформления

Подробное описание методов

createComponent

protected Component createComponent()
Создает компонент, связанный с этим представлением. Этот метод вызывается, когда требуется новый компонент. Это может произойти в результате вызова setParent или в результате уведомления о том, что атрибуты изменились.
Возвращает:
компонент, связанный с этим представлением

getComponent

public final Component getComponent()
Получает компонент, связанный с представлением.
Возвращает:
компонент, связанный с представлением

paint

public void paint(Graphics g, Shape a)
Реальная отрисовка происходит естественным образом из связи компонента с его родительским контейнером (тем же контейнером, содержащим это представление). Этот метод реализован как пустой.
Унаследован от:
paint в классе View
Параметры:
g - контекст графики
a - фигура
См. также:
  • View.paint(java.awt.Graphics, java.awt.Shape)

getPreferredSpan

public float getPreferredSpan(int axis)
Определяет предпочтительный размер этого представления вдоль оси. Этот метод реализован так, что возвращает значение, возвращаемое Component.getPreferredSize по интересующей оси.
Унаследован от:
getPreferredSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
размер, который представление желает занять >=0. Обычно представление получает указание на отрисовку в указанный размер, хотя это не гарантируется. Родительский элемент может выбрать изменение размера или разбиение представления.
Исключения:
IllegalArgumentException - для недопустимой оси

getMinimumSpan

public float getMinimumSpan(int axis)
Определяет минимальный размер этого представления вдоль оси. Этот метод реализован так, что возвращает значение, возвращаемое Component.getMinimumSize по интересующей оси.
Переопределяет:
getMinimumSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
размер, который представление желает занять >=0. Обычно представление получает указание на отрисовку в указанный размер, хотя это не гарантируется. Родительский элемент может выбрать изменение размера или разбиение представления.
Исключения:
IllegalArgumentException - для недопустимой оси
См. также:
  • View.getPreferredSpan(int)

getMaximumSpan

public float getMaximumSpan(int axis)
Определяет максимальный размер этого представления вдоль оси. Этот метод реализован так, что возвращает значение, возвращаемое Component.getMaximumSize по интересующей оси.
Переопределяет:
getMaximumSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
Возвращает:
размер, который представление желает занять >=0. Обычно представление получает указание на отрисовку в указанный размер, хотя это не гарантируется. Родительский элемент может выбрать изменение размера или разбиение представления.
Исключения:
IllegalArgumentException - для недопустимой оси
См. также:
  • View.getPreferredSpan(int)

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)
Устанавливает родительское представление для дочернего представления. Родительский элемент вызывает этот метод для дочернего элемента, чтобы сообщить ему о родительском элементе, обеспечивая доступ к контейнеру. Выполняется поведение предка, за которым следует вызов createComponent, если родительский параметр представления не равен null и компонент еще не был создан. Родительский элемент вложенных компонентов затем устанавливается в значение, возвращаемое 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 - если заданная позиция не представляет допустимое расположение в связанном документе
См. также:
  • View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.
Унаследован от:
viewToModel в классе View
Параметры:
x - координата X >=0
y - координата Y >=0
a - область, выделенная для отрисовки
bias - возвращённое смещение
Возвращает:
местоположение в модели, которое лучше всего представляет данную точку в представлении
См. также:
  • View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API