Spec-Zone.ru › OpenJDK 8

Класс GlyphView

  • java.lang.Object
    • javax.swing.text.View
      • javax.swing.text.GlyphView
Все реализованные интерфейсы:
Cloneable, SwingConstants, TabableView
Прямые известные подклассы:
LabelView

public class GlyphView
extends View
implements TabableView, Cloneable

GlyphView — это стилизованный фрагмент текста, представляющий собой представление, сопоставленное с элементом в модели текста. Это представление, как правило, отвечает за отображение глифов текста с использованием атрибутов на уровне символов каким-либо способом. Для выполнения фактического рендеринга и преобразований модель/представление используется реализация класса GlyphPainter. Это разделяет рендеринг от макета и управления ассоциацией с моделью.

Представление поддерживает разбиение для форматирования. Фрагменты, созданные при разбиении, используют представление, которое несет основную ответственность за элемент (т.е. они являются вложенными классами и содержат только небольшое количество собственного состояния), поэтому они могут совместно использовать его ресурсы.

Поскольку это представление отображает текст, который может содержать табуляции, оно реализует интерфейс TabableView. Табуляции будут расширяться только в том случае, если это представление вложено в контейнер, который выполняет расширение табуляций. ParagraphView является примером контейнера, который выполняет расширение табуляций.

С:
1.3

Вложенные классы

Модификатор и тип Класс и описание
static class  GlyphView.GlyphPainter

Класс для выполнения рендеринга глифов.

Поля

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

Конструкторы

Конструктор и описание
GlyphView(Element elem)

Создает новое представление, обернутое вокруг элемента.

Методы

Модификатор и тип Метод и описание
View breakView(int axis, int p0, float pos, float len)

Разбивает это представление по заданной оси в заданной длине.

void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)

Предоставляет уведомление от документа о том, что атрибуты были изменены в позиции, за которую отвечает это представление.

protected void checkPainter()

Проверяет наличие рисовальщика глифов.

protected Object clone()

Создает поверхностную копию.

View createFragment(int p0, int p1)

Создает представление, представляющее собой часть элемента.

float getAlignment(int axis)

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

Color getBackground()

Получает цвет фона, используемый для рендеринга глифов.

int getBreakWeight(int axis, float pos, float len)

Определяет привлекательность точки разбиения в этом представлении.

int getEndOffset()

Получает часть модели, за которую отвечает это представление.

Font getFont()

Получает шрифт, на основе которого должны быть основаны глифы.

Color getForeground()

Получает цвет переднего плана, используемый для рендеринга глифов.

GlyphView.GlyphPainter getGlyphPainter()

Получает текущий установленный рисовальщик глифов.

float getMinimumSpan(int axis)

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

int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)

Предоставляет способ определения следующей визуально отображаемой позиции модели, в которую можно поместить курсор.

float getPartialSpan(int p0, int p1)

Определяет размер по той же оси, что и расширение табуляций, для части представления.

float getPreferredSpan(int axis)

Определяет предпочтительный размер этого представления по оси.

int getStartOffset()

Получает часть модели, за которую отвечает это представление.

float getTabbedSpan(float x, TabExpander e)

Определяет желаемый размер при использовании заданной реализации расширения табуляций.

TabExpander getTabExpander()

Получает TabExpander для использования, если в этом представлении присутствуют табуляции.

Segment getText(int p0, int p1)

Получает ссылку на текст, занимающий заданный диапазон.

void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)

Предоставляет уведомление о вставке в документ в позиции, за которую отвечает это представление.

boolean isStrikeThrough()

Определяет, должны ли глифы иметь линию зачеркивания.

boolean isSubscript()

Определяет, должны ли глифы отображаться как верхний индекс.

boolean isSuperscript()

Определяет, должны ли глифы отображаться как нижний индекс.

boolean isUnderline()

Определяет, должны ли глифы быть подчеркнуты.

Shape modelToView(int pos, Shape a, Position.Bias b)

Предоставляет отображение из координатного пространства модели документа в координатное пространство отображения, сопоставленного с ней.

void paint(Graphics g, Shape a)

Отображает часть фрагмента стиля текста.

void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)

Предоставляет уведомление об удалении из документа в позиции, за которую отвечает это представление.

void setGlyphPainter(GlyphView.GlyphPainter p)

Устанавливает рисовальщик для рендеринга глифов.

int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)

Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.

Методы, унаследованные от класса javax.swing.text.View

append, forwardUpdate, forwardUpdateToView, getAttributes, getChildAllocation, getContainer, getDocument, getElement, getGraphics, getMaximumSpan, getParent, getResizeWeight, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, setSize, updateChildren, updateLayout, viewToModel

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

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

Конструкторы

GlyphView

public GlyphView(Element elem)

Создаёт новый вид, оболочку над элементом.

Параметры:
elem - элемент

Методы

clone

protected final Object clone()

Создаёт неглубокую копию. Используется методами createFragment и breakView.

Переопределяет:
clone в классе Object
Возвращает:
копию
См. также:
Cloneable

getGlyphPainter

public GlyphView.GlyphPainter getGlyphPainter()

Получить текущего установленного рисовальщика глифов. Если рисовальщик ещё не установлен и по умолчанию не требуется, возвращает null.

setGlyphPainter

public void setGlyphPainter(GlyphView.GlyphPainter p)

Устанавливает рисовальщик для отрисовки глифов.

getText

public Segment getText(int p0,
                       int p1)

Получить ссылку на текст, занимающий указанный диапазон. Обычно используется GlyphPainter для определения символов, для которых нужно отрисовать глифы.

Параметры:
p0 - начальный смещение в документе >= 0
p1 - конечное смещение в документе >= p0
Возвращает:
объект Segment содержащий текст

getBackground

public Color getBackground()

Получить цвет фона для отрисовки глифов. Если цвет фона не задан, возвращается null. Реализовано для вызова StyledDocument.getBackground если связанный документ является стилизованным документом, иначе возвращается null.

getForeground

public Color getForeground()

Получить цвет переднего плана для отрисовки глифов. Если цвет переднего плана не задан, возвращается null. Реализовано для вызова StyledDocument.getBackground если связанный документ является StyledDocument. Если связанный документ не является StyledDocument, используется цвет переднего плана связанного компонента. Если связанного компонента нет, возвращается null.

getFont

public Font getFont()

Получить шрифт, на основе которого должны отрисовываться глифы. Реализовано для вызова StyledDocument.getFont если связанный документ является StyledDocument. Если связанный документ не является StyledDocument, используется шрифт связанного компонента. Если связанного компонента нет, возвращается null.

isUnderline

public boolean isUnderline()

Определяет, должны ли глифы быть подчеркнутыми. Если true, должна быть нарисована линия подчёркивания по основанию.

isStrikeThrough

public boolean isStrikeThrough()

Определяет, должны ли глифы иметь линию зачёркивания. Если true, должна быть нарисована линия через центр глифов.

isSubscript

public boolean isSubscript()

Определяет, должны ли глифы быть отрисованы как подстрочные.

isSuperscript

public boolean isSuperscript()

Определяет, должны ли глифы быть отрисованы как надстрочные.

getTabExpander

public TabExpander getTabExpander()

Получить TabExpander для использования, если в этом представлении присутствуют табуляции.

checkPainter

protected void checkPainter()

Проверить существование рисовальщика глифов. Если рисовальщик отсутствует, будет установлен рисовальщик по умолчанию.

getTabbedSpan

public float getTabbedSpan(float x,
                           TabExpander e)

Определяет желаемый диапазон при использовании данного метода расширения табуляции.

Определяется в:
getTabbedSpan в интерфейсе TabableView
Параметры:
x - позиция, в которой будет находиться представление для целей расширения табуляции >= 0.
e - способ расширения табуляции при её встрече.
Возвращает:
желаемый диапазон >= 0
См. также:
TabableView.getTabbedSpan(float, javax.swing.text.TabExpander)

getPartialSpan

public float getPartialSpan(int p0,
                            int p1)

Определяет диапазон вдоль той же оси, что и расширение табуляции, для части представления. Предполагается, что диапазон, предоставленный, не содержит табуляции.

Этот метод может быть вызван при обработке getTabbedSpan или getPreferredSize. Он должен организовать свой буфер текста для измерений.

Определяется в:
getPartialSpan в интерфейсе TabableView
Параметры:
p0 - начальное смещение в документе >= 0
p1 - конечное смещение в документе >= p0
Возвращает:
диапазон >= 0

getStartOffset

public int getStartOffset()

Получает часть модели, за которую это представление отвечает.

Переопределяет:
getStartOffset в классе View
Возвращает:
начальное смещение в модели
См. также:
View.getStartOffset()

getEndOffset

public int getEndOffset()

Получает часть модели, за которую это представление отвечает.

Переопределяет:
getEndOffset в классе View
Возвращает:
конечное смещение в модели
См. также:
View.getEndOffset()

paint

public void paint(Graphics g,
                  Shape a)

Отрисовывает часть текстового стилизованного блока.

Определяется в:
paint в классе View
Параметры:
g - поверхность отрисовки
a - выделенная область для отрисовки

getMinimumSpan

public float getMinimumSpan(int axis)

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

Эта реализация возвращает наибольшую непрерывную область внутри представления в качестве минимального диапазона для View.X_AXIS.

Переопределяет:
getMinimumSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
минимальный диапазон, в который можно отрисовать представление
Исключения:
IllegalArgumentException - если параметр axis некорректен
См. также:
View.getMinimumSpan(int)

getPreferredSpan

public float getPreferredSpan(int axis)

Определяет предпочтительный диапазон для этого представления вдоль оси.

Определяется в:
getPreferredSpan в классе View
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
диапазон, который представление хочет, чтобы был отрисован в него >= 0. Обычно представлению сообщается, чтобы отрисовать его в возвращённый диапазон, хотя гарантии нет. Родитель может выбрать изменение размера или разрыв представления.
См. также:
View.getPreferredSpan(int)

getAlignment

public float getAlignment(int axis)

Определяет желаемое выравнивание для этого представления вдоль оси. Для метки выравнивание происходит вдоль базовой линии шрифта по оси Y, и выравнивание суперкласса по оси X.

Переопределяет:
getAlignment в классе View
Параметры:
axis - может быть либо View.X_AXIS или View.Y_AXIS
Возвращает:
желаемое выравнивание. Должно быть значением между 0.0 и 1.0 включительно, где 0 указывает выравнивание в начале, а 1.0 указывает выравнивание до полного диапазона от начала. Выравнивание 0.5 будет центром представления.

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
                  throws BadLocationException

Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, сопоставленного с ним.

Определяется в:
modelToView в классе View
Параметры:
pos - позиция для преобразования >= 0
a - выделенная область для отрисовки
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[] biasReturn)

Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.

Определяется в:
viewToModel в классе View
Параметры:
x - координата X >= 0
y - координата Y >= 0
a - выделенная область для отрисовки
biasReturn - либо Position.Bias.Forward или Position.Bias.Backward возвращается в качестве нулевого элемента этого массива
Возвращает:
местоположение в модели, наиболее точно представляющее данную точку представления >= 0
См. также:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])

getBreakWeight

public int getBreakWeight(int axis,
                          float pos,
                          float len)

Определяет привлекательность возможности разрыва в этом представлении. Это можно использовать для определения представления, наиболее привлекательного для вызова breakView в процессе форматирования. Чем выше вес, тем более привлекателен разрыв. Значение, равное или меньшее View.BadBreakWeight, не должно рассматриваться для разрыва. Значение, большее или равное View.ForcedBreakWeight, должно быть прервано.

Эта реализация перенаправляет запрос на суперкласс для Y_AXIS. По оси X могут быть возвращены следующие значения:

View.ExcellentBreakWeight
если перед желаемым местом разрыва находится пробел.
View.BadBreakWeight
если желаемое место разрыва приводит к разрыву начального смещения.
View.GoodBreakWeight
если другие условия не выполняются.
Это обычно приводит к поведению разрыва на месте пробела, если его можно найти, в противном случае разрыв между символами.
Overrides:
getBreakWeight в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
pos - потенциальное местоположение начала разрыва представления >= 0. Это может быть полезно для расчета позиций табуляции.
len - указывает относительную длину от pos, где желательно потенциальный разрыв >= 0.
Возвращает:
вес, который должен быть значением между View.ForcedBreakWeight и View.BadBreakWeight.
См. также:
LabelView, ParagraphView, View.BadBreakWeight, View.GoodBreakWeight, View.ExcellentBreakWeight, View.ForcedBreakWeight

breakView

public View breakView(int axis,
                      int p0,
                      float pos,
                      float len)

Разбивает это представление по заданной оси на заданной длине. Это реализовано для попытки разрыва на месте пробела и возвращает фрагмент с пробелом в конце. Если место пробела не найдено, используется ближайший символ.

Overrides:
breakView в классе View
Параметры:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
p0 - местоположение в модели, где фрагмент должен начать своё представление >= 0.
pos - позиция вдоль оси, которую будет занимать разрыв представления >= 0. Это может быть полезно для расчётов табуляции.
len - указывает расстояние вдоль оси, где желателен потенциальный разрыв >= 0.
Возвращает:
фрагмент представления, представляющий заданный отрезок, если представление может быть разбито. Если представление не поддерживает поведение разрыва, возвращается само представление.
См. также:
View.breakView(int, int, float, float)

createFragment

public View createFragment(int p0,
                           int p1)

Создаёт представление, которое отображает часть элемента. Это может быть полезно во время операций форматирования для измерения фрагментов представления. Если представление не поддерживает фрагментацию (по умолчанию), оно должно вернуть себя.

Это представление поддерживает фрагментацию. Оно реализовано для возвращения вложенного класса, который разделяет состояние в этом представлении, представляя только часть представления.

Overrides:
createFragment в классе View
Параметры:
p0 - начальный смещение >= 0. Это должно быть значение, большее или равное начальному смещению элемента и меньше конечного смещения элемента.
p1 - конечное смещение > p0. Это должно быть значение, меньшее или равное конечному смещению элемента и больше начального смещения элемента.
Возвращает:
фрагмент представления или само представление, если представление не поддерживает разделение на фрагменты
См. также:
LabelView

getNextVisualPositionFrom

public int getNextVisualPositionFrom(int pos,
                                     Position.Bias b,
                                     Shape a,
                                     int direction,
                                     Position.Bias[] biasRet)
                              throws BadLocationException

Предоставляет способ определить следующее визуально отображаемое местоположение модели, в которое можно поместить курсор. Некоторые представления могут быть невидимыми, они могут не находиться в том же порядке, что и в модели, или они просто могут не допускать доступа к некоторым местоположениям в модели. Этот метод позволяет указать позицию для преобразования в диапазоне >=0. Если значение равно -1, позиция будет рассчитана автоматически. Если значение < -1, будет выброшено исключение BadLocationException.

Overrides:
getNextVisualPositionFrom в классе View
Параметры:
pos - позиция для преобразования
a - выделенная область для отрисовки
direction - направление от текущей позиции, которое можно рассматривать как клавиши со стрелками на клавиатуре. Это может быть SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH или SwingConstants.SOUTH.
Возвращает:
местоположение в модели, которое лучше всего представляет следующее визуальное положение.
Исключения:
BadLocationException - заданная позиция не является допустимой позицией в документе
IllegalArgumentException - для недопустимого направления

insertUpdate

public void insertUpdate(DocumentEvent e,
                         Shape a,
                         ViewFactory f)

Предоставляет уведомление о том, что что-то было вставлено в документ в местоположении, за которое это представление отвечает. Это реализовано для вызова preferenceChanged вдоль оси, на которой отрисовываются глифы.

Overrides:
insertUpdate в классе View
Параметры:
e - информация о изменении из связанного документа
a - текущее размещение представления
f - фабрика для использования для перестройки, если у представления есть дочерние элементы
См. также:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(DocumentEvent e,
                         Shape a,
                         ViewFactory f)

Предоставляет уведомление о том, что что-то было удалено из документа в местоположении, за которое это представление отвечает. Это реализовано для вызова preferenceChanged вдоль оси, на которой отрисовываются глифы.

Overrides:
removeUpdate в классе View
Параметры:
e - информация о изменении из связанного документа
a - текущее размещение представления
f - фабрика для использования для перестройки, если у представления есть дочерние элементы
См. также:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

public void changedUpdate(DocumentEvent e,
                          Shape a,
                          ViewFactory f)

Предоставляет уведомление от документа о том, что атрибуты были изменены в местоположении, за которое это представление отвечает. Это реализовано для вызова preferenceChanged как вдоль горизонтальной, так и вдоль вертикальной оси.

Overrides:
changedUpdate в классе View
Параметры:
e - информация о изменении из связанного документа
a - текущее размещение представления
f - фабрика для использования для перестройки, если у представления есть дочерние элементы
См. также:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

© 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