Spec-Zone.ru › OpenJDK 25

Класс ComponentView

java.lang.Object
javax.swing.text.View
javax.swing.text.ComponentView
Все реализуемые интерфейсы:
SwingConstants
Прямые известные подклассы:
FormView, ObjectView
public class ComponentView extends View
Декоратор компонентов, реализующий интерфейс представления. Для представления компонента используется весь элемент. Это служит связующим звеном между реализациями View, предназначенными только для отображения, и интерактивными легковесными компонентами (то есть позволяет встраивать компоненты в иерархию 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

Поля, объявленные в интерфейсе 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)
Обеспечивает преобразование координат из системы координат представления в логическую систему координат модели.

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

Методы, объявленные в классе 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(Graphics, 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)
Задает родительское представление для дочернего представления. Родитель вызывает этот метод у дочернего представления, чтобы сообщить ему, кто является его родителем, предоставляя доступ к таким объектам, как содержащий его Container. Сначала выполняется поведение суперкласса, затем вызывается createComponent, если параметр родительского представления не равен null и компонент еще не создан. После этого родителем встроенного компонента становится объект, возвращаемый getContainer. Если параметр родительского представления равен null, это означает, что представление удаляется, поэтому компонент удаляется из своего родителя.

Изменение иерархии компонентов затрагивает блокировку компонентов — единственный аспект, не защищенный иерархией View. Поэтому эта функция выполняется немедленно, если вызвана в потоке обработки событий, либо помещается в очередь событий, если вызвана из другого потока (при уведомлении об изменении в результате асинхронного обновления).

Переопределяет:
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, Shape, 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, Shape, Position.Bias[])

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/ComponentView.html

Spec-Zone.ru

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