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

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

Параметры:
p - рисовальщик для рисования глифов

getText

public Segment getText(int p0,
                       int p1)

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

Параметры:
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 для использования, если в представлении есть табуляции.

Возвращает:
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)

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

Этот метод может вызываться при обработке 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_AXIS могут быть возвращены следующие значения.

View.ExcellentBreakWeight
если перед желаемым местом разрыва есть пробел.
View.BadBreakWeight
если желаемое место разрыва приводит к месту разрыва начального смещения.
View.GoodBreakWeight
если другие условия не выполняются.
Это обычно приводит к поведению разрыва по месту расположения пробела, если он найден, в противном случае разрыв происходит между символами.
Переопределяет:
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)

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

Переопределяет:
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)

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

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

Переопределяет:
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.

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

insertUpdate

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

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

Переопределяет:
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 по оси, на которой отрисовываются глифы.

Переопределяет:
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 по обеим осям, горизонтальной и вертикальной.

Переопределяет:
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/text/GlyphView.html

Spec-Zone .ru
спецификации, руководства, описания, API