Класс 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 |
addAttributes |
Добавляет набор атрибутов к элементу. |
void |
addChangeListener |
Добавляет слушателя для отслеживания добавления или удаления стилей. |
Style |
addStyle |
Добавляет новый стиль в иерархию стилей. |
protected MutableAttributeSet |
createLargeAttributeSet |
Создаёт большой набор атрибутов, который должен балансировать пространство и время. |
protected StyleContext.SmallAttributeSet |
createSmallAttributeSet |
Создаёт компактный набор атрибутов, который может быть совместно использован. |
Color |
getBackground |
Принимает набор атрибутов и преобразует его в спецификацию заднего фона. |
ChangeListener[] |
getChangeListeners() |
Возвращает массив всех ChangeListener, добавленных в этот StyleContext с помощью addChangeListener(). |
protected int |
getCompressionThreshold() |
Возвращает максимальное количество пар ключ/значение, которые нужно попытаться сжать в уникальные/неизменяемые наборы. |
static final StyleContext |
getDefaultStyleContext() |
Возвращает контекст атрибутов по умолчанию, используемый всеми документами, которые не заботятся о определении/предоставлении собственного контекста. |
AttributeSet |
getEmptySet() |
Возвращает пустой AttributeSet. |
Font |
getFont |
Получает новый шрифт. |
Font |
getFont |
Получает шрифт из набора атрибутов. |
FontMetrics |
getFontMetrics |
Возвращает метрики шрифта для шрифта. |
Color |
getForeground |
Принимает набор атрибутов и преобразует его в спецификацию переднего фона. |
static Object |
getStaticAttribute |
Возвращает объект, ранее зарегистрированный с помощью registerStaticAttributeKey. |
static Object |
getStaticAttributeKey |
Возвращает строку, с которой будет зарегистрирован key. |
Style |
getStyle |
Получает именованный стиль, ранее добавленный в документ |
Enumeration |
getStyleNames() |
Получает имена определённых стилей. |
void |
readAttributes |
Обработка атрибутов, специфичная для контекста |
static void |
readAttributeSet |
Считывает набор атрибутов из указанного потока ввода-вывода объекта, которые были ранее записаны с помощью writeAttributeSet. |
void |
reclaim |
Возвращает набор, больше не используемый реализацией MutableAttributeSet. |
static void |
registerStaticAttributeKey |
Регистрирует объект в качестве статического объекта, используемого в качестве ключа в наборах атрибутов. |
AttributeSet |
removeAttribute |
Удаляет атрибут из набора. |
AttributeSet |
removeAttributes |
Удаляет набор атрибутов для элемента. |
AttributeSet |
removeAttributes |
Удаляет набор атрибутов для элемента. |
void |
removeChangeListener |
Удаляет слушателя, который отслеживал добавление или удаление стилей. |
void |
removeStyle |
Удаляет именованный стиль, ранее добавленный в документ. |
String |
toString() |
Преобразует StyleContext в строку. |
void |
writeAttributes |
Обработка атрибутов, специфичная для контекста |
static void |
writeAttributeSet |
Записывает набор атрибутов в указанный поток данных объекта для целей сериализации. |
Подробное описание полей
DEFAULT_STYLE
public static final String DEFAULT_STYLE
- См. также:
Подробное описание конструкторов
StyleContext
public 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)
- Параметры:
-
attr- набор атрибутов - Возвращает:
- цвет
getBackground
public Color getBackground(AttributeSet attr)
- Параметры:
-
attr- набор атрибутов - Возвращает:
- цвет
getFont
public Font getFont(String family, int style, int size)
- Параметры:
-
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- значение атрибута - Возвращает:
- обновленный набор атрибутов
- См. также:
addAttributes
public AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Дополнительную информацию см. в разделе Конкурентность в Swing.
- Определено в:
-
addAttributesв интерфейсеAbstractDocument.AttributeContext - Параметры:
-
old- старый набор атрибутов -
attr- атрибуты для добавления - Возвращает:
- обновленный набор атрибутов
- См. также:
removeAttribute
public AttributeSet removeAttribute(AttributeSet old, Object name)
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Дополнительную информацию см. в разделе Конкурентность в Swing.
- Определено в:
-
removeAttributeв интерфейсеAbstractDocument.AttributeContext - Параметры:
-
old- старый набор атрибутов -
name- имя атрибута (не null) - Возвращает:
- обновленный набор атрибутов
- См. также:
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Дополнительную информацию см. в разделе Конкурентность в Swing.
- Определено в:
-
removeAttributesв интерфейсеAbstractDocument.AttributeContext - Параметры:
-
old- старый набор атрибутов -
names- имена атрибутов - Возвращает:
- обновленный набор атрибутов
- См. также:
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Для получения дополнительной информации см. Конкурентность в Swing.
- Specified by:
-
removeAttributesin interfaceAbstractDocument.AttributeContext - Parameters:
-
old- старый набор атрибутов -
attrs- атрибуты - Returns:
- обновлённый набор атрибутов
- See Also:
getEmptySet
public AttributeSet getEmptySet()
- Specified by:
-
getEmptySetin interfaceAbstractDocument.AttributeContext - Returns:
- набор
reclaim
public void reclaim(AttributeSet a)
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Для получения дополнительной информации см. Конкурентность в Swing.
- Specified by:
-
reclaimin interfaceAbstractDocument.AttributeContext - Parameters:
-
a- набор для возврата
getCompressionThreshold
protected int getCompressionThreshold()
- Returns:
- порог
createSmallAttributeSet
protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
- Parameters:
-
a- Набор атрибутов, который нужно представить в компактном формате. - Returns:
- компактный набор атрибутов, который может быть общим
createLargeAttributeSet
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)
- Parameters:
-
a- Набор атрибутов, который нужно представить в более крупной форме. - Returns:
- большой набор атрибутов, который должен жертвовать местом ради времени
toString
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:
© 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