Spec-Zone.ru › OpenJDK 17

Класс 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, 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

Spec-Zone.ru

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