Spec-Zone.ru › OpenJDK 24

Класс 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
Возвращает:
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, подчёркивание должно быть начерчено под линией основания.
Возвращает:
true, если глифы должны быть подчёркнуты, в противном случае false

isStrikeThrough

public boolean isStrikeThrough()
Определяет, следует ли глифам иметь линию перечёркивания. Если true, линия должна быть начерчена по центру глифов.
Возвращает:
true, если глифы должны иметь линию перечёркивания, в противном случае false

isSubscript

public boolean isSubscript()
Определяет, следует ли отображать глифы как нижний индекс.
Возвращает:
true, если глифы должны отображаться как нижний индекс, в противном случае false

isSuperscript

public boolean isSuperscript()
Определяет, следует ли отображать глифы как верхний индекс.
Возвращает:
true, если глифы должны отображаться как верхний индекс, в противном случае false

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.
Overrides:
getAlignment в классе View
Parameters:
axis — может быть либо View.X_AXIS, либо View.Y_AXIS
Returns:
желаемое выравнивание. Это должно быть значение от 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 в классе 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 в классе 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_AXIS. Вдоль оси X_AXIS могут быть возвращены следующие значения.

View.ExcellentBreakWeight
если перед желаемым местом разрыва имеется пробел.
View.BadBreakWeight
если желаемое место разрыва приводит к месту разрыва начального смещения.
View.GoodBreakWeight
если не выполняются другие условия.
Это обычно приводит к поведению разрыва на месте пробела, если он найден, в противном случае разрыв между символами.
Overrides:
getBreakWeight в классе 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 в классе 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 в классе 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 в классе 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 в классе 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/GlyphView.html

Spec-Zone.ru

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