Spec-Zone.ru › OpenJDK 21

Класс 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 final 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)
Получение ссылки на текст, занимающий заданный диапазон. Обычно используется GlyphPainter для определения символов, для которых необходимо отрисовать глифы.
Параметры:
p0 - начальный смещение в документе >= 0
p1 - конечный смещение в документе >= p0
Возвращает:
строку, содержащую текст

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

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

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
Предоставляет отображение из координатного пространства модели документа в координатное пространство представления, сопоставленного с ним.
Specified by:
modelToView in class View
Parameters:
pos - позиция для преобразования >= 0
a - выделенная область для отрисовки
b - либо Position.Bias.Forward или Position.Bias.Backward
Returns:
прямоугольник, содержащий заданную позицию
Throws:
BadLocationException - если заданная позиция не представляет действительное расположение в связанном документе
See Also:
  • View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)

viewToModel

public int viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)
Предоставляет отображение из координатного пространства представления в логическое координатное пространство модели.
Specified by:
viewToModel in class View
Parameters:
x - координата X >= 0
y - координата Y >= 0
a - выделенная область для отрисовки
biasReturn - либо Position.Bias.Forward или Position.Bias.Backward возвращается в качестве нулевого элемента этого массива
Returns:
местоположение в модели, наилучшим образом представляющее заданную точку зрения >= 0
See Also:
  • 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. По оси X могут возвращаться следующие значения.

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

breakView

public View breakView(int axis, int p0, float pos, float len)
Разбивает это представление по заданной оси в заданной длине. Это реализовано для попытки разбить на месте пробела и возвращает фрагмент с пробелом в конце. Если место пробела не найдено, используется ближайший символ.
Overrides:
breakView in class View
Parameters:
axis - может быть либо View.X_AXIS, либо View.Y_AXIS
p0 - расположение в модели, где фрагмент должен начать свое представление >= 0.
pos - позиция вдоль оси, которую будет занимать разрыв представления >= 0. Это может быть полезно для таких вещей, как расчет табуляций.
len - расстояние вдоль оси, где желателен потенциальный разрыв >= 0.
Returns:
фрагмент представления, представляющий заданный отрезок, если представление может быть разделено. Если представление не поддерживает поведение разбиения, возвращается само представление.
See Also:
  • View.breakView(int, int, float, float)

createFragment

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

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

Overrides:
createFragment in class View
Parameters:
p0 - начальное смещение >= 0. Оно должно быть значением, большим или равным начальному смещению элемента и меньшим конечного смещения элемента.
p1 - конечное смещение > p0. Оно должно быть значением, меньшим или равным конечному смещению элемента и большим начального смещения элемента.
Returns:
фрагмент представления или само представление, если представление не поддерживает разделение на фрагменты
See Also:
  • 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 in class View
Parameters:
pos - позиция для преобразования
b - смещение
a - выделенная область для отрисовки
direction - направление от текущей позиции, которое можно представить как клавиши со стрелками, обычно встречающиеся на клавиатуре. Это может быть SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH или SwingConstants.SOUTH.
biasRet - возвращаемое смещение
Returns:
местоположение в модели, наилучшим образом представляющее следующую визуальную позицию.
Throws:
BadLocationException - заданная позиция не является допустимой позицией в документе
IllegalArgumentException - для недопустимого направления

insertUpdate

public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
Предоставляет уведомление о вставке чего-либо в документ в месте, за которое это представление отвечает. Реализовано для вызова preferenceChanged вдоль оси, на которой отрисовываются глифы.
Overrides:
insertUpdate in class View
Parameters:
e - информация о изменении из связанного документа
a - текущее выделение представления
f - фабрика для использования при перестроении, если у представления есть дочерние элементы
See Also:
  • 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 in class View
Parameters:
e - информация о изменении из связанного документа
a - текущее выделение представления
f - фабрика для использования при перестроении, если у представления есть дочерние элементы
See Also:
  • 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 in class View
Parameters:
e - информация о изменении из связанного документа
a - текущее выделение представления
f - фабрика для использования при перестроении, если у представления есть дочерние элементы
See Also:
  • View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/GlyphView.html

Spec-Zone.ru

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