Spec-Zone.ru › OpenJDK 27

Класс StyleContext

java.lang.Object
javax.swing.text.StyleContext
Все реализуемые интерфейсы:
Serializable, AbstractDocument.AttributeContext
Прямые известные подклассы:
StyleSheet
public class StyleContext extends Object implements Serializable, AbstractDocument.AttributeContext
Пул стилей и связанных с ними ресурсов. Этот класс определяет время жизни группы ресурсов, являясь контейнером, хранящим кэши различных ресурсов, таких как шрифты и цвета, повторно используемых различными определениями стилей. При необходимости его можно совместно использовать нескольким документам, чтобы максимально увеличить совместное использование связанных ресурсов.

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

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакете java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

Краткое описание вложенных классов

Модификатор и тип Класс Описание
class  StyleContext.NamedStyle
Коллекция атрибутов, обычно используемая для представления стилей символов и абзацев.
class  StyleContext.SmallAttributeSet
Этот класс хранит небольшое количество атрибутов в массиве.

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

Модификатор и тип Поле Описание
static final String DEFAULT_STYLE
Имя, присвоенное стилю по умолчанию, логически связанному с абзацами.

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

Конструктор Описание
StyleContext()
Создаёт новый объект StyleContext.

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

Модификатор и тип Метод Описание
AttributeSet addAttribute(AttributeSet old, Object name, Object value)
Добавляет атрибут в указанный набор и возвращает новый репрезентативный набор.
AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
Добавляет набор атрибутов элементу.
void addChangeListener(ChangeListener l)
Добавляет слушателя для отслеживания добавления и удаления стилей.
Style addStyle(String nm, Style parent)
Добавляет новый стиль в иерархию стилей.
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)
Создаёт большой набор атрибутов, в котором экономия времени достигается за счёт расхода памяти.
protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
Создаёт компактный набор атрибутов, который можно совместно использовать.
Color getBackground(AttributeSet attr)
Преобразует набор атрибутов в спецификацию цвета фона.
ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListenerов, добавленных в этот StyleContext с помощью addChangeListener().
protected int getCompressionThreshold()
Возвращает максимальное количество пар ключ/значение, которые следует попытаться сжать в уникальные/неизменяемые наборы.
static final StyleContext getDefaultStyleContext()
Возвращает контекст атрибутов по умолчанию, совместно используемый всеми документами, которые не определяют и не предоставляют собственный контекст.
AttributeSet getEmptySet()
Получает пустой набор атрибутов.
Font getFont(String family, int style, int size)
Получает новый шрифт.
Font getFont(AttributeSet attr)
Получает шрифт из набора атрибутов.
FontMetrics getFontMetrics(Font f)
Возвращает метрики шрифта.
Color getForeground(AttributeSet attr)
Преобразует набор атрибутов в спецификацию цвета переднего плана.
static Object getStaticAttribute(Object key)
Возвращает объект, ранее зарегистрированный с помощью registerStaticAttributeKey.
static Object getStaticAttributeKey(Object key)
Возвращает строку, с которой будет зарегистрирован key.
Style getStyle(String nm)
Получает именованный стиль, ранее добавленный в документ
Enumeration<?> getStyleNames()
Получает имена определённых стилей.
void readAttributes(ObjectInputStream in, MutableAttributeSet a)
Обработка чтения атрибутов с учётом контекста
static void readAttributeSet(ObjectInputStream in, MutableAttributeSet a)
Считывает набор атрибутов из указанного входного потока объектов, ранее записанный с помощью writeAttributeSet.
void reclaim(AttributeSet a)
Возвращает набор, который больше не нужен реализации MutableAttributeSet.
static void registerStaticAttributeKey(Object key)
Регистрирует объект как статический объект, используемый в качестве ключа в наборах атрибутов.
AttributeSet removeAttribute(AttributeSet old, Object name)
Удаляет атрибут из набора.
AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
Удаляет набор атрибутов элемента.
AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
Удаляет набор атрибутов элемента.
void removeChangeListener(ChangeListener l)
Удаляет слушателя, отслеживающего добавление и удаление стилей.
void removeStyle(String nm)
Удаляет именованный стиль, ранее добавленный в документ.
String toString()
Преобразует StyleContext в строку.
void writeAttributes(ObjectOutputStream out, AttributeSet a)
Обработка записи атрибутов с учётом контекста
static void writeAttributeSet(ObjectOutputStream out, AttributeSet a)
Записывает набор атрибутов в указанный поток объектов для сериализации.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс среды выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
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, либо истечения заданного промежутка реального времени.

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

DEFAULT_STYLE

public static final String DEFAULT_STYLE
Имя, присвоенное стилю логического значения по умолчанию, применяемому к абзацам.
См. также:
  • Значения константных полей

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

StyleContext

public StyleContext()
Создает новый объект StyleContext.

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

getDefaultStyleContext

public static final StyleContext getDefaultStyleContext()
Возвращает AttributeContext по умолчанию, общий для всех документов, которые не задают и не предоставляют собственный контекст.
Возвращает:
контекст

addStyle

public Style addStyle(String nm, Style parent)
Добавляет новый стиль в иерархию стилей. Атрибуты стиля разрешаются снизу вверх, поэтому атрибут, заданный в дочернем элементе, переопределяет атрибут, заданный в родительском элементе.
Параметры:
nm — имя стиля (должно быть уникальным в коллекции именованных стилей документа). Имя может быть null, если стиль не имеет имени, однако вызывающий код должен самостоятельно управлять возвращенной ссылкой, поскольку получить безымянный стиль по имени невозможно. Безымянный стиль может быть полезен, например, для переопределения атрибутов символов, как это происходит в диапазоне стиля.
parent — родительский стиль. Может быть null, если неуказанные атрибуты не требуется разрешать в другом стиле.
Возвращает:
созданный стиль

removeStyle

public void removeStyle(String nm)
Удаляет именованный стиль, ранее добавленный в документ.
Параметры:
nm — имя удаляемого стиля

getStyle

public Style getStyle(String nm)
Получает именованный стиль, ранее добавленный в документ.
Параметры:
nm — имя стиля
Возвращает:
стиль

getStyleNames

public Enumeration<?> getStyleNames()
Получает имена определенных стилей.
Возвращает:
список имен в виде перечисления

addChangeListener

public void addChangeListener(ChangeListener l)
Добавляет слушатель для отслеживания добавления и удаления стилей.
Параметры:
l — слушатель изменений

removeChangeListener

public void removeChangeListener(ChangeListener l)
Удаляет слушатель, отслеживавший добавление и удаление стилей.
Параметры:
l — слушатель изменений

getChangeListeners

public ChangeListener[] getChangeListeners()
Возвращает массив всех ChangeListeners, добавленных в этот StyleContext с помощью addChangeListener().
Возвращает:
все добавленные ChangeListeners или пустой массив, если слушатели не добавлялись
Начиная с:
1.4

getFont

public Font getFont(AttributeSet attr)
Получает шрифт из набора атрибутов. Реализация пытается получить кэшированный шрифт для указанного AttributeSet; если это не удается, определяются параметры шрифта, и шрифт извлекается из низкоуровневого кэша шрифтов.
Параметры:
attr — набор атрибутов
Возвращает:
шрифт

getForeground

public Color getForeground(AttributeSet attr)
Принимает набор атрибутов и преобразует его в спецификацию цвета переднего плана. Это можно использовать для задания таких параметров, как яркость, оттенок и т. п. По умолчанию метод просто возвращает значение, заданное атрибутом StyleConstants.Foreground.
Параметры:
attr — набор атрибутов
Возвращает:
цвет

getBackground

public Color getBackground(AttributeSet attr)
Принимает набор атрибутов и преобразует его в спецификацию цвета фона. Это можно использовать для задания таких параметров, как яркость, оттенок и т. п. По умолчанию метод просто возвращает значение, заданное атрибутом StyleConstants.Background.
Параметры:
attr — набор атрибутов
Возвращает:
цвет

getFont

public Font getFont(String family, int style, int size)
Получает новый шрифт. Если шрифт есть в кэше, метод возвращает его оттуда. В противном случае шрифт добавляется в кэш. По сути, это низкоуровневый кэш для параметров шрифтов версии 1.1.
Параметры:
family — семейство шрифтов (например, "Monospaced")
style — начертание шрифта (например, Font.PLAIN)
size — размер в пунктах >= 1
Возвращает:
новый шрифт

getFontMetrics

public FontMetrics getFontMetrics(Font f)
Возвращает метрики шрифта.
Параметры:
f — шрифт
Возвращает:
метрики

addAttribute

public AttributeSet addAttribute(AttributeSet old, Object name, Object value)
Добавляет атрибут в указанный набор и возвращает новый представляющий его набор.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
addAttribute в интерфейсе AbstractDocument.AttributeContext
Параметры:
old — старый набор атрибутов
name — имя атрибута, не равное null
value — значение атрибута
Возвращает:
обновленный набор атрибутов
См. также:
  • MutableAttributeSet.addAttribute(Object, Object)

addAttributes

public AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
Добавляет набор атрибутов к элементу.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
addAttributes в интерфейсе AbstractDocument.AttributeContext
Параметры:
old — старый набор атрибутов
attr — добавляемые атрибуты
Возвращает:
обновленный набор атрибутов
См. также:
  • MutableAttributeSet.addAttribute(Object, Object)

removeAttribute

public AttributeSet removeAttribute(AttributeSet old, Object name)
Удаляет атрибут из набора.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
removeAttribute в интерфейсе AbstractDocument.AttributeContext
Параметры:
old — старый набор атрибутов
name — имя атрибута, не равное null
Возвращает:
обновленный набор атрибутов
См. также:
  • MutableAttributeSet.removeAttribute(Object)

removeAttributes

public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
Удаляет набор атрибутов элемента.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
removeAttributes в интерфейсе AbstractDocument.AttributeContext
Параметры:
old — старый набор атрибутов
names — имена атрибутов
Возвращает:
обновленный набор атрибутов
См. также:
  • MutableAttributeSet.removeAttributes(Enumeration)

removeAttributes

public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
Удаляет набор атрибутов элемента.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
removeAttributes в интерфейсе AbstractDocument.AttributeContext
Параметры:
old — старый набор атрибутов
attrs — атрибуты
Возвращает:
обновленный набор атрибутов
См. также:
  • MutableAttributeSet.removeAttributes(Enumeration)

getEmptySet

public AttributeSet getEmptySet()
Получает пустой AttributeSet.
Определено в:
getEmptySet в интерфейсе AbstractDocument.AttributeContext
Возвращает:
набор

reclaim

public void reclaim(AttributeSet a)
Возвращает набор, больше не нужный реализации MutableAttributeSet. Это полезно для работы в версии 1.1, где нет слабых ссылок. Обычно этот метод вызывается методом finalize реализации MutableAttributeSet.

Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительные сведения см. в разделе Параллелизм в Swing.

Определено в:
reclaim в интерфейсе AbstractDocument.AttributeContext
Параметры:
a — набор, который требуется вернуть

getCompressionThreshold

protected int getCompressionThreshold()
Возвращает максимальное число пар «ключ/значение», которые следует попытаться сжать в уникальные/неизменяемые наборы. Для наборов, превышающих этот предел, будут использоваться хеш-таблицы и MutableAttributeSet.
Возвращает:
пороговое значение

createSmallAttributeSet

protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
Создает компактный набор атрибутов, который можно совместно использовать. Этот метод-перехват предназначен для подклассов, которым требуется изменить поведение SmallAttributeSet. Его можно переопределить, чтобы возвращать AttributeSet, обеспечивающий преобразование атрибутов.
Параметры:
a — набор атрибутов, который требуется представить в компактной форме.
Возвращает:
компактный набор атрибутов, который можно совместно использовать

createLargeAttributeSet

protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)
Создает большой набор атрибутов, в котором скорость работы достигается за счет увеличения занимаемого пространства. Этот набор не будет совместно использоваться. Этот метод-перехват предназначен для подклассов, которым требуется изменить поведение формата хранения больших наборов атрибутов (по умолчанию SimpleAttributeSet). Его можно переопределить, чтобы возвращать MutableAttributeSet, обеспечивающий преобразование атрибутов.
Параметры:
a — набор атрибутов, который требуется представить в расширенной форме.
Возвращает:
большой набор атрибутов, в котором скорость работы достигается за счет увеличения занимаемого пространства

toString

public String toString()
Преобразует StyleContext в строку.
Переопределяет:
toString в классе Object
Возвращает:
строка

writeAttributes

public void writeAttributes(ObjectOutputStream out, AttributeSet a) throws IOException
Обработка записи атрибутов, специфичная для контекста
Параметры:
out — выходной поток
a — набор атрибутов
Исключения:
IOException — при любой ошибке ввода-вывода

readAttributes

public void readAttributes(ObjectInputStream in, MutableAttributeSet a) throws ClassNotFoundException, IOException
Обработка чтения атрибутов, специфичная для контекста
Параметры:
in — поток объектов, из которого считываются данные атрибутов.
a — набор атрибутов, в который помещаются определения атрибутов.
Исключения:
ClassNotFoundException — передается выше по стеку, если возникает при чтении потока объектов.
IOException — передается выше по стеку, если возникает при чтении потока объектов.

writeAttributeSet

public static void writeAttributeSet(ObjectOutputStream out, AttributeSet a) throws IOException
Записывает набор атрибутов в указанный поток объектов для сериализации. При этом особым образом обрабатываются статические ключи атрибутов, зарегистрированные с помощью метода registerStaticAttributeKey. Любой ключ атрибута, не зарегистрированный как статический, сериализуется напрямую. Предполагается, что все значения допускают сериализацию.
Параметры:
out — выходной поток
a — набор атрибутов
Исключения:
IOException — при любой ошибке ввода-вывода

readAttributeSet

public static void readAttributeSet(ObjectInputStream in, MutableAttributeSet a) throws ClassNotFoundException, IOException
Считывает из указанного входного потока объектов набор атрибутов, ранее записанный с помощью writeAttributeSet. Метод пытается восстановить ключи, являвшиеся статическими объектами, как статические объекты в текущей виртуальной машине, учитывая только ключи, зарегистрированные с помощью метода registerStaticAttributeKey. Полученные из потока атрибуты помещаются в указанный изменяемый набор.
Параметры:
in — поток объектов, из которого считываются данные атрибутов.
a — набор атрибутов, в который помещаются определения атрибутов.
Исключения:
ClassNotFoundException — передается выше по стеку, если возникает при чтении потока объектов.
IOException — передается выше по стеку, если возникает при чтении потока объектов.

registerStaticAttributeKey

public static void registerStaticAttributeKey(Object key)
Регистрирует объект как статический объект, используемый в качестве ключа в наборах атрибутов. Это позволяет особым образом обрабатывать ключ при сериализации.

Для работы в виртуальной машине версии 1.1 используется значение, возвращаемое toString, к которому добавляется имя класса. Возвращаемое методом toString значение не должно содержать ссылку на класс (то есть метод следует переопределить согласно определению в Object), чтобы при последующем вычислении получить то же значение.

Параметры:
key — ключ-объект, не равный null

getStaticAttribute

public static Object getStaticAttribute(Object key)
Возвращает объект, ранее зарегистрированный с помощью registerStaticAttributeKey.
Параметры:
key — ключ-объект
Возвращает:
Возвращает объект, ранее зарегистрированный с помощью registerStaticAttributeKey

getStaticAttributeKey

public static Object getStaticAttributeKey(Object key)
Возвращает строку, с которой будет зарегистрирован key.
Параметры:
key — ключ-объект
Возвращает:
строка, с которой будет зарегистрирован key
См. также:
  • getStaticAttribute(Object)
  • registerStaticAttributeKey(Object)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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