Spec-Zone.ru › OpenJDK 17

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

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 соответствует центру представления.
END_OF_DOCUMENT_MARKER

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

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, 2021, 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/17/docs/api/java.desktop/javax/swing/text/GlyphView.html

Spec-Zone.ru

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