Spec-Zone.ru › OpenJDK 24

Класс 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, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. 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()
Возвращает пустой AttributeSet.
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)
Записывает набор атрибутов в указанный поток данных объекта для целей сериализации.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

DEFAULT_STYLE

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

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

StyleContext

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

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

getDefaultStyleContext

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

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()
Возвращает массив всех ChangeListener, добавленных в этот StyleContext с помощью addChangeListener().
Возвращает:
все добавленные ChangeListener или пустой массив, если слушатели не были добавлены
С:
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(java.lang.Object, java.lang.Object)

addAttributes

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

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

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

removeAttribute

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

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

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

removeAttributes

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

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

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

removeAttributes

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

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

Specified by:
removeAttributes in interface AbstractDocument.AttributeContext
Parameters:
old - старый набор атрибутов
attrs - атрибуты
Returns:
обновлённый набор атрибутов
See Also:
  • MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)

getEmptySet

public AttributeSet getEmptySet()
Возвращает пустой набор атрибутов.
Specified by:
getEmptySet in interface AbstractDocument.AttributeContext
Returns:
набор

reclaim

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

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

Specified by:
reclaim in interface AbstractDocument.AttributeContext
Parameters:
a - набор для возврата

getCompressionThreshold

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

createSmallAttributeSet

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

createLargeAttributeSet

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

toString

public String toString()
Преобразует StyleContext в строку.
Overrides:
toString in class Object
Returns:
строка

writeAttributes

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

readAttributes

public void readAttributes(ObjectInputStream in, MutableAttributeSet a) throws ClassNotFoundException, IOException
Обработка чтения атрибутов, специфичная для контекста.
Parameters:
in - поток для чтения данных атрибута.
a - набор атрибутов, в который будут помещены определения атрибутов.
Throws:
ClassNotFoundException - передаётся вверх, если обнаружена при чтении потока объектов.
IOException - передаётся вверх, если обнаружена при чтении потока объектов.

writeAttributeSet

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

readAttributeSet

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

registerStaticAttributeKey

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

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

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

getStaticAttribute

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

getStaticAttributeKey

public static Object getStaticAttributeKey(Object key)
Возвращает строку, с которой будет зарегистрирован key.
Parameters:
key - ключ объекта
Returns:
строка, с которой будет зарегистрирован key
See Also:
  • getStaticAttribute(java.lang.Object)
  • registerStaticAttributeKey(java.lang.Object)

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/StyleContext.html

Spec-Zone.ru

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