Spec-Zone.ru › OpenJDK 25

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

Краткое описание полей

Поля, объявленные в классе View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

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

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

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

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, Shape, 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, Shape, 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 — позиция для преобразования
b — смещение
a — выделенная область для отрисовки
direction — направление от текущей позиции, соответствующее клавишам со стрелками на клавиатуре. Это может быть SwingConstants.WEST, SwingConstants.EAST, SwingConstants.NORTH или SwingConstants.SOUTH.
biasRet — возвращаемое смещение
Возвращает:
местоположение в модели, которое лучше всего соответствует следующей визуальной позиции.
Вызывает исключение:
BadLocationException — заданная позиция недопустима для этого документа
IllegalArgumentException — если направление недопустимо

insertUpdate

public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
Уведомляет о вставке содержимого в документ в месте, за которое отвечает это представление. Реализация вызывает preferenceChanged вдоль оси, по которой отрисовываются глифы.
Переопределяет:
insertUpdate в классе View
Параметры:
e — сведения об изменении из связанного документа
a — текущая выделенная область представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.insertUpdate(DocumentEvent, Shape, ViewFactory)

removeUpdate

public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
Уведомляет об удалении содержимого из документа в месте, за которое отвечает это представление. Реализация вызывает preferenceChanged вдоль оси, по которой отрисовываются глифы.
Переопределяет:
removeUpdate в классе View
Параметры:
e — сведения об изменении из связанного документа
a — текущая выделенная область представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.removeUpdate(DocumentEvent, Shape, ViewFactory)

changedUpdate

public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
Уведомляет об изменении атрибутов документа в месте, за которое отвечает это представление. Реализация вызывает preferenceChanged по горизонтальной и вертикальной осям.
Переопределяет:
changedUpdate в классе View
Параметры:
e — сведения об изменении из связанного документа
a — текущая выделенная область представления
f — фабрика, используемая для перестроения, если у представления есть дочерние элементы
См. также:
  • View.changedUpdate(DocumentEvent, Shape, ViewFactory)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/GlyphView.html

Spec-Zone.ru

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