Spec-Zone.ru › OpenJDK 27

Класс TextAttribute

java.lang.Object
java.text.AttributedCharacterIterator.Attribute
java.awt.font.TextAttribute
Все реализованные интерфейсы:
Serializable
public final class TextAttribute extends AttributedCharacterIterator.Attribute
Класс TextAttribute определяет ключи и значения атрибутов, используемые для отображения текста.

Экземпляры TextAttribute используются в качестве ключей атрибутов для идентификации атрибутов в Font, TextLayout, AttributedCharacterIterator и других классах, работающих с атрибутами текста. Другие константы, определённые в этом классе, можно использовать в качестве значений атрибутов.

Для каждого текстового атрибута в документации приводятся:

  • тип его значения,
  • соответствующие предопределённые константы, если они есть;
  • эффект по умолчанию, если атрибут отсутствует;
  • допустимые значения, если существуют ограничения;
  • описание эффекта.

Значения

  • Значения атрибутов всегда должны быть неизменяемыми.
  • Если указаны ограничения на значения, любое значение вне этого набора зарезервировано для будущего использования; такое значение будет обрабатываться как значение по умолчанию.
  • Значение null обрабатывается так же, как значение по умолчанию, и приводит к поведению по умолчанию.
  • Если значение имеет неподходящий тип, атрибут игнорируется.
  • Идентичность значения не имеет значения — важно только его фактическое значение. Например, TextAttribute.WEIGHT_BOLD и Float.valueOf(2.0f) обозначают одно и то же WEIGHT.
  • Значения атрибутов типа Number (используемые для WEIGHT, WIDTH, POSTURE, SIZE, JUSTIFICATION и TRACKING) могут изменяться в пределах своего естественного диапазона и не ограничиваются предопределёнными константами. Для получения фактического значения из Number используется Number.floatValue().
  • Значения для WEIGHT, WIDTH и POSTURE интерполируются системой, которая может выбрать «ближайший доступный» шрифт или использовать другие способы приближения к запросу пользователя.

Сводка атрибутов

Ключ, тип значения, основные константы и поведение по умолчанию для всех TextAttributes
Ключ Тип значения Основные константы Значение по умолчанию
FAMILY String См. в Font DIALOG, DIALOG_INPUT,
SERIF, SANS_SERIF и MONOSPACED.
"Default" (используется системное значение по умолчанию)
WEIGHT Number WEIGHT_REGULAR, WEIGHT_BOLD WEIGHT_REGULAR
WIDTH Number WIDTH_CONDENSED, WIDTH_REGULAR,
WIDTH_EXTENDED
WIDTH_REGULAR
POSTURE Number POSTURE_REGULAR, POSTURE_OBLIQUE POSTURE_REGULAR
SIZE Number нет 12.0
TRANSFORM TransformAttribute См. в TransformAttribute IDENTITY TransformAttribute.IDENTITY
SUPERSCRIPT Integer SUPERSCRIPT_SUPER, SUPERSCRIPT_SUB 0 (используются стандартные глифы и метрики)
FONT Font нет null (не переопределять разрешение шрифта)
CHAR_REPLACEMENT GraphicAttribute нет null (рисовать текст с помощью глифов шрифта)
FOREGROUND Paint нет null (использовать текущую краску графического контекста)
BACKGROUND Paint нет null (не отображать фон)
UNDERLINE Integer UNDERLINE_ON -1 (не отображать подчёркивание)
STRIKETHROUGH Boolean STRIKETHROUGH_ON false (не отображать зачёркивание)
RUN_DIRECTION Boolean RUN_DIRECTION_LTR
RUN_DIRECTION_RTL
null (использовать стандартное значение по умолчанию Bidi)
BIDI_EMBEDDING Integer нет 0 (использовать базовое направление строки)
JUSTIFICATION Number JUSTIFICATION_FULL JUSTIFICATION_FULL
INPUT_METHOD_HIGHLIGHT InputMethodHighlight,
Annotation
(см. класс) null (не применять выделение метода ввода)
INPUT_METHOD_UNDERLINE Integer UNDERLINE_LOW_ONE_PIXEL,
UNDERLINE_LOW_TWO_PIXEL
-1 (не отображать подчёркивание)
SWAP_COLORS Boolean SWAP_COLORS_ON false (не менять цвета местами)
NUMERIC_SHAPING NumericShaper нет null (не преобразовывать цифры)
KERNING Integer KERNING_ON 0 (не запрашивать кернинг)
LIGATURES Integer LIGATURES_ON 0 (не формировать необязательные лигатуры)
TRACKING Number TRACKING_LOOSE, TRACKING_TIGHT 0 (не добавлять трекинг)
См. также:
  • Font
  • TextLayout
  • AttributedCharacterIterator
  • Сериализованное представление

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

Модификатор и тип Поле Описание
static final TextAttribute BACKGROUND
Ключ атрибута для краски, используемой для отображения фона текста.
static final TextAttribute BIDI_EMBEDDING
Ключ атрибута для уровня вложения текста.
static final TextAttribute CHAR_REPLACEMENT
Ключ атрибута для пользовательского глифа, отображаемого вместо стандартного глифа шрифта для символа.
static final TextAttribute FAMILY
Ключ атрибута для имени шрифта.
static final TextAttribute FONT
Ключ атрибута для указания шрифта, используемого для отображения текста.
static final TextAttribute FOREGROUND
Ключ атрибута для краски, используемой для отображения текста.
static final TextAttribute INPUT_METHOD_HIGHLIGHT
Ключ атрибута для стилей выделения метода ввода.
static final TextAttribute INPUT_METHOD_UNDERLINE
Ключ атрибута для подчёркиваний метода ввода.
static final TextAttribute JUSTIFICATION
Ключ атрибута для выравнивания абзаца.
static final Float JUSTIFICATION_FULL
Выровнять строку по всей запрошенной ширине.
static final Float JUSTIFICATION_NONE
Запретить выравнивание строки.
static final TextAttribute KERNING
Ключ атрибута для запроса кернинга.
static final Integer KERNING_ON
Запросить стандартный кернинг.
static final TextAttribute LIGATURES
Ключ атрибута для включения необязательных лигатур.
static final Integer LIGATURES_ON
Запросить стандартные необязательные лигатуры.
static final TextAttribute NUMERIC_SHAPING
Ключ атрибута для преобразования десятичных цифр ASCII в цифры других десятичных диапазонов.
static final TextAttribute POSTURE
Ключ атрибута для наклона шрифта.
static final Float POSTURE_OBLIQUE
Стандартный курсивный наклон.
static final Float POSTURE_REGULAR
Стандартное начертание — прямое.
static final TextAttribute RUN_DIRECTION
Ключ атрибута для направления письма в строке.
static final Boolean RUN_DIRECTION_LTR
Направление письма слева направо.
static final Boolean RUN_DIRECTION_RTL
Направление письма справа налево.
static final TextAttribute SIZE
Ключ атрибута для размера шрифта.
static final TextAttribute STRIKETHROUGH
Ключ атрибута для зачёркивания.
static final Boolean STRIKETHROUGH_ON
Одинарное зачёркивание.
static final TextAttribute SUPERSCRIPT
Ключ атрибута для надстрочного и подстрочного начертания.
static final Integer SUPERSCRIPT_SUB
Стандартный нижний индекс.
static final Integer SUPERSCRIPT_SUPER
Стандартный верхний индекс.
static final TextAttribute SWAP_COLORS
Ключ атрибута для перестановки местами цветов переднего плана и фона Paints.
static final Boolean SWAP_COLORS_ON
Поменять местами цвета переднего плана и фона.
static final TextAttribute TRACKING
Ключ атрибута для управления трекингом.
static final Float TRACKING_LOOSE
Применить разреженный трекинг.
static final Float TRACKING_TIGHT
Применить плотный трекинг.
static final TextAttribute TRANSFORM
Ключ атрибута для преобразования шрифта.
static final TextAttribute UNDERLINE
Ключ атрибута для подчёркивания.
static final Integer UNDERLINE_LOW_DASHED
Нижнее пунктирное подчёркивание толщиной в один пиксель.
static final Integer UNDERLINE_LOW_DOTTED
Нижнее точечное подчёркивание толщиной в один пиксель.
static final Integer UNDERLINE_LOW_GRAY
Нижнее серое подчёркивание толщиной в два пикселя.
static final Integer UNDERLINE_LOW_ONE_PIXEL
Нижнее сплошное подчёркивание толщиной в один пиксель.
static final Integer UNDERLINE_LOW_TWO_PIXEL
Нижнее сплошное подчёркивание толщиной в два пикселя.
static final Integer UNDERLINE_ON
Стандартное подчёркивание.
static final TextAttribute WEIGHT
Ключ атрибута для насыщенности шрифта.
static final Float WEIGHT_BOLD
Стандартное полужирное начертание.
static final Float WEIGHT_DEMIBOLD
Умеренно более лёгкое начертание, чем WEIGHT_BOLD.
static final Float WEIGHT_DEMILIGHT
Промежуточное начертание между WEIGHT_LIGHT и WEIGHT_STANDARD.
static final Float WEIGHT_EXTRA_LIGHT
Самое лёгкое из предопределённых начертаний.
static final Float WEIGHT_EXTRABOLD
Сверхжирное начертание.
static final Float WEIGHT_HEAVY
Умеренно более тяжёлое начертание, чем WEIGHT_BOLD.
static final Float WEIGHT_LIGHT
Стандартное лёгкое начертание.
static final Float WEIGHT_MEDIUM
Промежуточное начертание между WEIGHT_REGULAR и WEIGHT_BOLD.
static final Float WEIGHT_REGULAR
Стандартное начертание.
static final Float WEIGHT_SEMIBOLD
Умеренно более тяжёлое начертание, чем WEIGHT_REGULAR.
static final Float WEIGHT_ULTRABOLD
Самое тяжёлое из предопределённых начертаний.
static final TextAttribute WIDTH
Ключ атрибута для ширины шрифта.
static final Float WIDTH_CONDENSED
Самая узкая из предопределённых ширин.
static final Float WIDTH_EXTENDED
Самая широкая из предопределённых ширин.
static final Float WIDTH_REGULAR
Стандартная ширина.
static final Float WIDTH_SEMI_CONDENSED
Умеренно узкая ширина.
static final Float WIDTH_SEMI_EXTENDED
Умеренно широкая ширина.

Поля, объявленные в классе AttributedCharacterIterator.Attribute

INPUT_METHOD_SEGMENT, LANGUAGE, READING
Модификатор и тип Поле Описание
static final AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT
Ключ атрибута для сегментов метода ввода.
static final AttributedCharacterIterator.Attribute LANGUAGE
Ключ атрибута для языка некоторого текста.
static final AttributedCharacterIterator.Attribute READING
Ключ атрибута для чтения некоторого текста.

Краткое описание конструкторов

TextAttribute(String name)
Модификатор Конструктор Описание
protected
Создаёт TextAttribute с указанным именем.

Краткое описание методов

Модификатор и тип Метод Описание
protected Object readResolve()
Преобразует десериализуемые экземпляры в предопределённые константы.

Методы, объявленные в классе AttributedCharacterIterator.Attribute

equals, getName, hashCode, toString
Модификатор и тип Метод Описание
final boolean equals(Object obj)
Сравнивает два объекта на равенство.
protected String getName()
Возвращает имя атрибута.
final int hashCode()
Возвращает хеш-код объекта.
String toString()
Возвращает строковое представление объекта.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API планируется удалить в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определённого промежутка реального времени.

Подробное описание полей

FAMILY

public static final TextAttribute FAMILY
Ключ атрибута для имени шрифта. Значения являются экземплярами String. Значение по умолчанию — "Default", при котором используется семейство шрифтов платформы по умолчанию.

Класс Font определяет константы для логических имен шрифтов DIALOG, DIALOG_INPUT, SANS_SERIF, SERIF и MONOSPACED.

Это значение передается как name конструктору Font. Допускаются как логические, так и физические имена шрифтов. Если шрифт с запрошенным именем не найден, используется шрифт по умолчанию.

Примечание: К сожалению, этот атрибут назван неверно, поскольку указывает название начертания, а не только семейства. Поэтому значения, например "Lucida Sans Bold", выберут это начертание, если оно существует. Однако если запрошенное начертание не существует, будет использоваться начертание по умолчанию с обычной насыщенностью. Слово "Bold" в имени является частью названия начертания, а не отдельным запросом на полужирную насыщенность шрифта.

WEIGHT

public static final TextAttribute WEIGHT
Ключ атрибута для насыщенности шрифта. Значения являются экземплярами Number. Значение по умолчанию — WEIGHT_REGULAR.

Предоставляется несколько константных значений; см. WEIGHT_EXTRA_LIGHT, WEIGHT_LIGHT, WEIGHT_DEMILIGHT, WEIGHT_REGULAR, WEIGHT_SEMIBOLD, WEIGHT_MEDIUM, WEIGHT_DEMIBOLD, WEIGHT_BOLD, WEIGHT_HEAVY, WEIGHT_EXTRABOLD и WEIGHT_ULTRABOLD. Значение WEIGHT_BOLD соответствует значению стиля Font.BOLD, передаваемому конструктору Font.

Значение приблизительно представляет собой отношение ширины штриха к ширине штриха обычной насыщенности.

Система может интерполировать заданное значение.

WEIGHT_EXTRA_LIGHT

public static final Float WEIGHT_EXTRA_LIGHT
Самая тонкая из предопределенных насыщенностей.
См. также:
  • WEIGHT

WEIGHT_LIGHT

public static final Float WEIGHT_LIGHT
Стандартная тонкая насыщенность.
См. также:
  • WEIGHT

WEIGHT_DEMILIGHT

public static final Float WEIGHT_DEMILIGHT
Промежуточная насыщенность между WEIGHT_LIGHT и WEIGHT_STANDARD.
См. также:
  • WEIGHT

WEIGHT_REGULAR

public static final Float WEIGHT_REGULAR
Стандартная насыщенность. Это значение по умолчанию для WEIGHT.
См. также:
  • WEIGHT

WEIGHT_SEMIBOLD

public static final Float WEIGHT_SEMIBOLD
Умеренно повышенная насыщенность по сравнению с WEIGHT_REGULAR.
См. также:
  • WEIGHT

WEIGHT_MEDIUM

public static final Float WEIGHT_MEDIUM
Промежуточная насыщенность между WEIGHT_REGULAR и WEIGHT_BOLD.
См. также:
  • WEIGHT

WEIGHT_DEMIBOLD

public static final Float WEIGHT_DEMIBOLD
Умеренно пониженная насыщенность по сравнению с WEIGHT_BOLD.
См. также:
  • WEIGHT

WEIGHT_BOLD

public static final Float WEIGHT_BOLD
Стандартная полужирная насыщенность.
См. также:
  • WEIGHT

WEIGHT_HEAVY

public static final Float WEIGHT_HEAVY
Умеренно повышенная насыщенность по сравнению с WEIGHT_BOLD.
См. также:
  • WEIGHT

WEIGHT_EXTRABOLD

public static final Float WEIGHT_EXTRABOLD
Особо высокая насыщенность.
См. также:
  • WEIGHT

WEIGHT_ULTRABOLD

public static final Float WEIGHT_ULTRABOLD
Самая высокая из предопределенных насыщенностей.
См. также:
  • WEIGHT

WIDTH

public static final TextAttribute WIDTH
Ключ атрибута для ширины шрифта. Значения являются экземплярами Number. Значение по умолчанию — WIDTH_REGULAR.

Предоставляется несколько константных значений; см. WIDTH_CONDENSED, WIDTH_SEMI_CONDENSED, WIDTH_REGULAR, WIDTH_SEMI_EXTENDED, WIDTH_EXTENDED.

Значение приблизительно представляет собой отношение ширины продвижения к ширине при обычном начертании.

Система может интерполировать заданное значение.

WIDTH_CONDENSED

public static final Float WIDTH_CONDENSED
Самая узкая из предопределенных ширин.
См. также:
  • WIDTH

WIDTH_SEMI_CONDENSED

public static final Float WIDTH_SEMI_CONDENSED
Умеренно узкая ширина.
См. также:
  • WIDTH

WIDTH_REGULAR

public static final Float WIDTH_REGULAR
Стандартная ширина. Это значение по умолчанию для WIDTH.
См. также:
  • WIDTH

WIDTH_SEMI_EXTENDED

public static final Float WIDTH_SEMI_EXTENDED
Умеренно широкая ширина.
См. также:
  • WIDTH

WIDTH_EXTENDED

public static final Float WIDTH_EXTENDED
Самая широкая из предопределенных ширин.
См. также:
  • WIDTH

POSTURE

public static final TextAttribute POSTURE
Ключ атрибута для наклона шрифта. Значения являются экземплярами Number. Значение по умолчанию — POSTURE_REGULAR.

Предоставляются две константы: POSTURE_REGULAR и POSTURE_OBLIQUE. Значение POSTURE_OBLIQUE соответствует значению стиля Font.ITALIC, передаваемому конструктору Font.

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

Система может интерполировать заданное значение.

Это влияет на угол наклона шрифта, возвращаемый методом Font.getItalicAngle.

См. также:
  • Font.getItalicAngle()

POSTURE_REGULAR

public static final Float POSTURE_REGULAR
Стандартный прямой наклон. Это значение по умолчанию для POSTURE.
См. также:
  • POSTURE

POSTURE_OBLIQUE

public static final Float POSTURE_OBLIQUE
Стандартный курсивный наклон.
См. также:
  • POSTURE

SIZE

public static final TextAttribute SIZE
Ключ атрибута для размера шрифта. Значения являются экземплярами Number. Значение по умолчанию — 12 пт.

Это соответствует параметру size конструктора Font.

Очень большие или маленькие размеры ухудшают производительность отображения, и система отображения может не выводить текст таких размеров. Отрицательные размеры недопустимы; вместо них используется размер по умолчанию.

Обратите внимание: внешний вид и метрики шрифта размером 12 пт с преобразованием 2x могут отличаться от внешнего вида и метрик шрифта размером 24 пт без преобразования.

TRANSFORM

public static final TextAttribute TRANSFORM
Ключ атрибута для преобразования шрифта. Значения являются экземплярами TransformAttribute. Значение по умолчанию — TransformAttribute.IDENTITY.

Класс TransformAttribute определяет константу IDENTITY.

Это соответствует преобразованию, передаваемому в Font.deriveFont(AffineTransform). Поскольку это преобразование допускает изменение, а значения TextAttribute должны быть неизменяемыми, используется класс-обертка TransformAttribute.

Основное назначение — поддержка масштабирования и наклона, хотя возможны и другие эффекты.

Некоторые преобразования поворачивают и/или смещают базовую линию. Текст и базовая линия преобразуются вместе, поэтому текст следует новой базовой линии. Например, если текст расположен на горизонтальной базовой линии, новая базовая линия будет направлена вдоль единичного вектора x после применения преобразования. Метрики текста измеряются относительно этой новой базовой линии. Поэтому, например, при прочих равных условиях высота над базовой линией, глубина под ней и ширина продвижения текста, отрисованного с повернутым TRANSFORM и неповернутым TRANSFORM, будут одинаковыми.

В стилизованном тексте базовые линии отдельных таких фрагментов выравниваются друг за другом, что может привести к нелинейной базовой линии всего фрагмента текста. Дополнительную информацию см. в разделе TextLayout.getLayoutPath().

См. также:
  • TransformAttribute
  • AffineTransform

SUPERSCRIPT

public static final TextAttribute SUPERSCRIPT
Ключ атрибута для верхнего и нижнего индексов. Значения являются экземплярами Integer. Значение по умолчанию — 0, что означает, что верхний или нижний индекс не используется.

Предоставляются две константы; см. SUPERSCRIPT_SUPER и SUPERSCRIPT_SUB. Их значения равны соответственно 1 и -1. Значения с большим модулем задают более высокие уровни верхнего или нижнего индекса: например, 2 соответствует верхнему индексу второго уровня, 3 — верхнему индексу третьего уровня; аналогично для отрицательных значений и нижнего индекса, вплоть до уровня 7 (или -7). Значения за пределами этого диапазона зарезервированы; поведение зависит от платформы.

SUPERSCRIPT может влиять на высоту над базовой линией и глубину под ней. Однако эти значения не могут стать отрицательными.

SUPERSCRIPT_SUPER

public static final Integer SUPERSCRIPT_SUPER
Стандартный верхний индекс.
См. также:
  • SUPERSCRIPT

SUPERSCRIPT_SUB

public static final Integer SUPERSCRIPT_SUB
Стандартный нижний индекс.
См. также:
  • SUPERSCRIPT

FONT

public static final TextAttribute FONT
Ключ атрибута, используемый для указания шрифта, которым следует отображать текст. Значения являются экземплярами Font. Значение по умолчанию — null; это означает, что следует выполнить обычное разрешение Font по атрибутам.

TextLayout и AttributedCharacterIterator работают с Maps типа TextAttributes. Обычно все атрибуты проверяются и используются для выбора и настройки экземпляра Font. Однако если присутствует атрибут FONT, будет использоваться связанный с ним Font. Это позволяет пользователям переопределить разрешение атрибутов шрифта в Font или принудительно использовать определенный экземпляр Font. Это также позволяет указывать подклассы Font в тех случаях, когда Font допускает создание подклассов.

FONT используется в особых ситуациях, когда у клиентов уже есть экземпляр Font, но им по-прежнему необходимо использовать API на основе Map. Обычно в Map не будет других атрибутов, кроме атрибута FONT. При использовании API на основе Map обычно указываются все атрибуты по отдельности, поэтому FONT не требуется и не рекомендуется.

Однако если в Map присутствуют как FONT, так и другие атрибуты, система отображения объединит атрибуты, определенные в Font, с дополнительными атрибутами. В процессе объединения TextAttributes делятся на две группы. Первая группа, «основная», считается определяющей выбор шрифта и его метрики. К этим атрибутам относятся FAMILY, WEIGHT, WIDTH, POSTURE, SIZE, TRANSFORM, SUPERSCRIPT и TRACKING. Вторая группа, «дополнительная», включает все остальные определенные атрибуты, кроме самого FONT.

Для создания нового Map сначала из атрибута FONT извлекается Font, а все его атрибуты копируются в новый Map. Затем к атрибутам нового Map добавляются только дополнительные атрибуты исходного Map. Таким образом, значения основных атрибутов берутся исключительно из Font, а значения дополнительных атрибутов — из Font, но могут быть переопределены другими значениями в Map.

Примечание: Конструктор на основе Font's Map и методы deriveFont не обрабатывают атрибут FONT, поскольку они используются для создания новых объектов Font. Для обработки атрибута FONT следует использовать Font.getFont(Map).

См. также:
  • Font

CHAR_REPLACEMENT

public static final TextAttribute CHAR_REPLACEMENT
Ключ атрибута для пользовательского глифа, отображаемого вместо стандартного глифа шрифта для символа. Значения являются экземплярами GraphicAttribute. Значение по умолчанию — null; это означает, что должны использоваться стандартные глифы шрифта.

Этот атрибут используется для резервирования места под графический объект или другой компонент, встроенный в строку текста. Он необходим для правильного позиционирования встроенных компонентов в строке при выполнении двунаправленной перестановки (см. Bidi). Каждый символ (кодовая точка Unicode) будет отображаться с использованием предоставленного GraphicAttribute. Как правило, символы, к которым применяется этот атрибут, должны быть \uFFFC.

GraphicAttribute определяет логические и визуальные границы текста; фактические значения Font игнорируются.

См. также:
  • GraphicAttribute

FOREGROUND

public static final TextAttribute FOREGROUND
Ключ атрибута для краски, используемой при отображении текста. Значения являются экземплярами Paint. Значение по умолчанию — null; это означает, что используется Paint, заданный для Graphics2D на момент отображения.

Глифы будут отображаться с использованием этой Paint независимо от значения Paint, заданного для Graphics (см. также SWAP_COLORS).

См. также:
  • Paint
  • SWAP_COLORS

BACKGROUND

public static final TextAttribute BACKGROUND
Ключ атрибута для краски, используемой при отображении фона текста. Значения являются экземплярами Paint. Значение по умолчанию — null; это означает, что фон не отображается.

Логические границы текста будут заполнены этой Paint, после чего поверх нее будет отображен текст (см. также SWAP_COLORS).

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

См. также:
  • Paint
  • SWAP_COLORS

UNDERLINE

public static final TextAttribute UNDERLINE
Ключ атрибута для подчеркивания. Значения являются экземплярами Integer. Значение по умолчанию — -1, что означает отсутствие подчеркивания.

Предоставляется константное значение UNDERLINE_ON.

Подчеркивание влияет как на визуальные границы, так и на контур текста.

UNDERLINE_ON

public static final Integer UNDERLINE_ON
Стандартное подчеркивание.
См. также:
  • UNDERLINE

STRIKETHROUGH

public static final TextAttribute STRIKETHROUGH
Ключ атрибута для зачеркивания. Значения являются экземплярами Boolean. Значение по умолчанию — false, что означает отсутствие зачеркивания.

Предоставляется константное значение STRIKETHROUGH_ON.

Зачеркивание влияет как на визуальные границы, так и на контур текста.

STRIKETHROUGH_ON

public static final Boolean STRIKETHROUGH_ON
Одинарное зачеркивание.
См. также:
  • STRIKETHROUGH

RUN_DIRECTION

public static final TextAttribute RUN_DIRECTION
Ключ атрибута для направления фрагмента строки. Значения являются экземплярами Boolean. Значение по умолчанию — null; это означает, что для определения направления фрагментов следует использовать стандартный алгоритм Bidi со значением Bidi.DIRECTION_DEFAULT_LEFT_TO_RIGHT.

Предоставляются константы RUN_DIRECTION_RTL и RUN_DIRECTION_LTR.

Это определяет значение, передаваемое конструктору Bidi для выбора основного направления текста в абзаце.

Примечание: Это значение должно быть одинаковым для всего текста в абзаце; в противном случае поведение не определено.

См. также:
  • Bidi

RUN_DIRECTION_LTR

public static final Boolean RUN_DIRECTION_LTR
Направление фрагмента слева направо.
См. также:
  • RUN_DIRECTION

RUN_DIRECTION_RTL

public static final Boolean RUN_DIRECTION_RTL
Направление фрагмента справа налево.
См. также:
  • RUN_DIRECTION

BIDI_EMBEDDING

public static final TextAttribute BIDI_EMBEDDING
Ключ атрибута для уровня встраивания текста. Значения являются экземплярами Integer. Значение по умолчанию — null; это означает, что алгоритм двунаправленного текста должен выполняться без явных уровней встраивания.

Положительные значения от 1 до 61 обозначают уровни встраивания, отрицательные значения от -1 до -61 — уровни переопределения. Значение 0 означает, что используется направление базовой строки. Эти уровни передаются в массиве уровней встраивания конструктору Bidi.

Примечание: Если этот атрибут присутствует где-либо в абзаце, все управляющие символы двунаправленного текста Unicode (RLO, LRO, RLE, LRE и PDF) в абзаце игнорируются, а фрагменты текста, в которых этот атрибут отсутствует, обрабатываются так, как если бы атрибут присутствовал со значением 0.

См. также:
  • Bidi

JUSTIFICATION

public static final TextAttribute JUSTIFICATION
Ключ атрибута для выравнивания абзаца. Значения являются экземплярами Number. Значение по умолчанию — 1; это означает, что при выравнивании используется вся предоставленная ширина. Значения ограничиваются диапазоном [0..1].

Предоставляются константы JUSTIFICATION_FULL и JUSTIFICATION_NONE.

Задает долю дополнительного пространства, используемого при выравнивании TextLayout. Например, если ширина строки составляет 50 пунктов и требуется выровнять ее по ширине 70 пунктов, значение 0,75 добавит три четверти оставшегося пространства, то есть 15 пунктов, и итоговая длина строки составит 65 пунктов.

Примечание: Это значение должно быть одинаковым для всего текста в абзаце; в противном случае поведение не определено.

См. также:
  • TextLayout.getJustifiedLayout(float)

JUSTIFICATION_FULL

public static final Float JUSTIFICATION_FULL
Выровнять строку по всей заданной ширине. Это значение по умолчанию для JUSTIFICATION.
См. также:
  • JUSTIFICATION

JUSTIFICATION_NONE

public static final Float JUSTIFICATION_NONE
Не выполнять выравнивание строки.
См. также:
  • JUSTIFICATION

INPUT_METHOD_HIGHLIGHT

public static final TextAttribute INPUT_METHOD_HIGHLIGHT
Ключ атрибута для стилей выделения метода ввода.

Значения являются экземплярами InputMethodHighlight или Annotation. Значение по умолчанию — null; это означает, что стили метода ввода не должны применяться перед отображением.

Если соседние фрагменты текста с одинаковым InputMethodHighlight нужно отображать отдельно, InputMethodHighlights следует обернуть в экземпляры Annotation.

Выделения метода ввода используются во время ввода текста методом ввода. Компоненты редактирования текста должны сохранять их, даже если обычно работают только с текстом без стилей, и предоставлять их процедурам отрисовки.

См. также:
  • Font
  • InputMethodHighlight
  • Annotation

INPUT_METHOD_UNDERLINE

public static final TextAttribute INPUT_METHOD_UNDERLINE
Ключ атрибута для подчеркиваний метода ввода. Значения являются экземплярами Integer. Значение по умолчанию — -1; это означает отсутствие подчеркивания.

Предоставляется несколько константных значений; см. UNDERLINE_LOW_ONE_PIXEL, UNDERLINE_LOW_TWO_PIXEL, UNDERLINE_LOW_DOTTED, UNDERLINE_LOW_GRAY и UNDERLINE_LOW_DASHED.

При необходимости этот атрибут можно использовать вместе с UNDERLINE. В первую очередь он предназначен для методов ввода. Использование этих подчеркиваний для простого украшения может сбить пользователей с толку.

Подчеркивание метода ввода влияет как на визуальные границы, так и на контур текста.

Начиная с:
1.3

UNDERLINE_LOW_ONE_PIXEL

public static final Integer UNDERLINE_LOW_ONE_PIXEL
Сплошное нижнее подчеркивание толщиной в один пиксель.
Начиная с:
1.3
См. также:
  • INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_TWO_PIXEL

public static final Integer UNDERLINE_LOW_TWO_PIXEL
Двойное сплошное подчёркивание снизу толщиной в два пикселя.
Начиная с:
1.3
См. также:
  • INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_DOTTED

public static final Integer UNDERLINE_LOW_DOTTED
Точечное подчёркивание снизу толщиной в один пиксель.
Начиная с:
1.3
См. также:
  • INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_GRAY

public static final Integer UNDERLINE_LOW_GRAY
Серое подчёркивание снизу толщиной в два пикселя.
Начиная с:
1.3
См. также:
  • INPUT_METHOD_UNDERLINE

UNDERLINE_LOW_DASHED

public static final Integer UNDERLINE_LOW_DASHED
Штриховое подчёркивание снизу толщиной в один пиксель.
Начиная с:
1.3
См. также:
  • INPUT_METHOD_UNDERLINE

SWAP_COLORS

public static final TextAttribute SWAP_COLORS
Ключ атрибута для обмена цветами переднего и заднего плана Paints. Значениями являются экземпляры Boolean. Значение по умолчанию — false, что означает отсутствие обмена цветами.

Определено константное значение SWAP_COLORS_ON.

Если задан атрибут FOREGROUND, его Paint будет использоваться как цвет заднего плана; в противном случае будет использоваться Paint, установленный в данный момент для Graphics. Если задан атрибут BACKGROUND, его Paint будет использоваться как цвет переднего плана; в противном случае система выберет цвет, контрастирующий с (вычисленным) цветом заднего плана, чтобы текст был виден.

См. также:
  • FOREGROUND
  • BACKGROUND

SWAP_COLORS_ON

public static final Boolean SWAP_COLORS_ON
Обменять цвета переднего и заднего плана.
Начиная с:
1.3
См. также:
  • SWAP_COLORS

NUMERIC_SHAPING

public static final TextAttribute NUMERIC_SHAPING
Ключ атрибута для преобразования десятичных цифр ASCII в цифры других десятичных систем. Значениями являются экземпляры NumericShaper. Значение по умолчанию — null, что означает отсутствие преобразования цифр.

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

Примечание: Для всего текста абзаца должно задаваться одно и то же значение; в противном случае поведение не определено.

Начиная с:
1.4
См. также:
  • NumericShaper

KERNING

public static final TextAttribute KERNING
Ключ атрибута для включения кернинга. Значениями являются экземпляры Integer. Значение по умолчанию — 0, что означает, что кернинг не запрашивается.

Предоставляется константное значение KERNING_ON.

Интервалы по умолчанию между отдельными символами не подходят для некоторых последовательностей, например «To» или «AWAY». Без кернинга соседние символы кажутся разделёнными слишком большим расстоянием. Кернинг изменяет интервалы в выбранных последовательностях символов, улучшая их визуальное восприятие.

Начиная с:
1.6

KERNING_ON

public static final Integer KERNING_ON
Запросить стандартный кернинг.
Начиная с:
1.6
См. также:
  • KERNING

LIGATURES

public static final TextAttribute LIGATURES
Ключ атрибута для включения необязательных лигатур. Значениями являются экземпляры Integer. Значение по умолчанию — 0, что означает, что необязательные лигатуры не используются.

Определено константное значение LIGATURES_ON.

Лигатуры, обязательные для системы письма, всегда включены.

Начиная с:
1.6

LIGATURES_ON

public static final Integer LIGATURES_ON
Запросить стандартные необязательные лигатуры.
Начиная с:
1.6
См. также:
  • LIGATURES

TRACKING

public static final TextAttribute TRACKING
Ключ атрибута для управления трекингом. Значениями являются экземпляры Number. Значение по умолчанию — 0, что означает отсутствие дополнительного трекинга.

Предоставляются константные значения TRACKING_TIGHT и TRACKING_LOOSE.

Значение трекинга умножается на размер шрифта в пунктах и передаётся в преобразование шрифта, чтобы определить дополнительную величину, прибавляемую к ширине продвижения каждого кластера глифов. Положительные значения трекинга препятствуют образованию необязательных лигатур. Обычно значения трекинга находятся в диапазоне от -0.1 до 0.3; значения за пределами этого диапазона, как правило, нежелательны.

Начиная с:
1.6

TRACKING_TIGHT

public static final Float TRACKING_TIGHT
Выполнять плотный трекинг.
Начиная с:
1.6
См. также:
  • TRACKING

TRACKING_LOOSE

public static final Float TRACKING_LOOSE
Выполнять разреженный трекинг.
Начиная с:
1.6
См. также:
  • TRACKING

Подробное описание конструкторов

TextAttribute

protected TextAttribute(String name)
Создаёт TextAttribute с указанным именем.
Параметры:
name — имя атрибута, назначаемое этому TextAttribute

Подробное описание методов

readResolve

protected Object readResolve() throws InvalidObjectException
Заменяет десериализованные экземпляры предопределёнными константами.
Переопределяет:
readResolve в классе AttributedCharacterIterator.Attribute
Возвращает:
разрешённый объект Attribute
Выбрасывает:
InvalidObjectException — если объект, подлежащий разрешению, не является экземпляром Attribute

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзор концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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