Класс 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 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() Возвращает массив всех |
protected int |
getCompressionThreshold() Возвращает максимальное количество пар ключ/значение, которые нужно попробовать сжать в уникальные/неизменяемые наборы. |
static StyleContext |
getDefaultStyleContext() Возвращает стандартный AttributeContext, используемый всеми документами, которые не утруждают себя определением/поставкой собственного контекста. |
AttributeSet |
getEmptySet() Возвращает пустой AttributeSet. |
Font |
getFont(AttributeSet attr) Получает шрифт из набора атрибутов. |
Font |
getFont(String family,
int style,
int size) Получает новый шрифт. |
FontMetrics |
getFontMetrics(Font f) Возвращает метрики шрифта для данного шрифта. |
Color |
getForeground(AttributeSet attr) Принимает набор атрибутов и преобразует его в спецификацию цвета переднего плана. |
static Object |
getStaticAttribute(Object key) Возвращает объект, ранее зарегистрированный с |
static Object |
getStaticAttributeKey(Object key) Возвращает строку, с которой будет зарегистрирован |
Style |
getStyle(String nm) Извлекает именованный стиль, ранее добавленный в документ |
Enumeration<?> |
getStyleNames() Извлекает имена определённых стилей. |
void |
readAttributes(ObjectInputStream in,
MutableAttributeSet a) Контекстно-зависимая обработка чтения атрибутов |
static void |
readAttributeSet(ObjectInputStream in,
MutableAttributeSet a) Читает набор атрибутов из заданного потока ввода объекта, которые были ранее записаны с помощью |
void |
reclaim(AttributeSet a) Возвращает набор, больше не используемый реализацией MutableAttributeSet. |
static void |
registerStaticAttributeKey(Object key) Регистрирует объект как статический объект, используемый в качестве ключа в наборах атрибутов. |
AttributeSet |
removeAttribute(AttributeSet old,
Object name) Удаляет атрибут из набора. |
AttributeSet |
removeAttributes(AttributeSet old,
AttributeSet attrs) Удаляет набор атрибутов для элемента. |
AttributeSet |
removeAttributes(AttributeSet old,
Enumeration<?> names) Удаляет набор атрибутов для элемента. |
void |
removeChangeListener(ChangeListener l) Удаляет слушателя, отслеживающего добавление или удаление стилей. |
void |
removeStyle(String nm) Удаляет именованный стиль, ранее добавленный в документ. |
String |
toString() Преобразует StyleContext в строку. |
void |
writeAttributes(ObjectOutputStream out,
AttributeSet a) Контекстно-зависимая обработка записи атрибутов |
static void |
writeAttributeSet(ObjectOutputStream out,
AttributeSet a) Записывает набор атрибутов в заданный поток объекта для целей сериализации. |
Methods inherited from class 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.
- Определено:
-
removeAttributesв интерфейсеAbstractDocument.AttributeContext - Параметры:
-
old- старый набор атрибутов -
attrs- атрибуты - Возвращает:
- обновленный набор атрибутов
- См. также:
MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)
getEmptySet
public AttributeSet getEmptySet()
Возвращает пустой набор атрибутов.
- Определено:
-
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 в строку.
writeAttributes
public void writeAttributes(ObjectOutputStream out,
AttributeSet a)
throws IOException Обработка записи атрибутов, специфичная для контекста.
- Исключения:
IOException
readAttributes
public void readAttributes(ObjectInputStream in,
MutableAttributeSet a)
throws ClassNotFoundException,
IOException Обработка чтения атрибутов, специфичная для контекста.
- Исключения:
ClassNotFoundExceptionIOException
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.
getStaticAttributeKey
public static Object getStaticAttributeKey(Object key)
Возвращает строку, с которой будет зарегистрирован key.
© 1993, 2020, 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.