Spec-Zone.ru › OpenJDK 8

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

Определяет желаемое выравнивание для этого представления по оси.

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 - для неверной оси
См. также:
View.getPreferredSpan(int)

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 - выделенная область для отрисовки
Возвращает:
позиция в модели, которая лучше всего представляет заданную точку в представлении
См. также:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

© 1993, 2020, 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.

Spec-Zone.ru

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