Spec-Zone.ru › OpenJDK 21

Класс 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()
Возвращает массив всех ChangeListeners, добавленных в этот 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)
Получает шрифт из набора атрибутов. Реализация пытается получить кэшированный шрифт для данного набора атрибутов, а если это не удается, то ищет шрифт в кэше низкого уровня.
Параметры:
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.

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

getEmptySet

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

Возвращение ресурсов

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

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

Указано:
reclaim в интерфейсе AbstractDocument.AttributeContext
Параметры:
a - набор, который нужно вернуть

Получение порога сжатия

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

Создание небольшого набора атрибутов

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

Создание большого набора атрибутов

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

toString

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

Запись атрибутов

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

Чтение атрибутов

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

Запись набора атрибутов

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

Чтение набора атрибутов

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

Регистрация статического ключа атрибута

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

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

Параметры:
key - непустой ключевой объект

Получение статического атрибута

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

Получение статического ключа атрибута

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

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/StyleContext.html

Spec-Zone.ru

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