Класс StyleSheet
- Все реализуемые интерфейсы:
-
Serializable,AbstractDocument.AttributeContext
public class StyleSheet extends StyleContext
toString обязан возвращать строковое представление значения CSS. Основной входной точкой для реализаций HTML View для получения своих атрибутов является метод getViewAttributes. Он должен быть реализован для определения желаемой политики сопоставления атрибутов с представлением. Каждый HTMLEditorKit (т. е. и, следовательно, каждый связанный JEditorPane) может иметь свой собственный StyleSheet, но по умолчанию один лист будет общим для всех экземпляров HTMLEditorKit. Экземпляр HTMLDocument также может иметь StyleSheet, который содержит специфичные для документа спецификации CSS.
Чтобы представления хранили меньше состояния и, следовательно, были более легкими, StyleSheet может действовать как фабрика для отрисовщиков, которые обрабатывают некоторые задачи отрисовки. Это позволяет реализациям определять, что они хотят кэшировать, и иметь совместное использование потенциально на уровне, когда селектор является общим для нескольких представлений. Поскольку StyleSheet может использоваться представлениями над несколькими документами и, как правило, атрибуты HTML не влияют на используемый селектор, потенциал для совместного использования значителен.
Правила хранятся в виде именованных стилей, а другая информация хранится для быстрого преобразования контекста элемента в правило. Следующий фрагмент кода отобразит именованные стили, а следовательно, и содержащиеся правила CSS.
import java.util.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
public class ShowStyles {
public static void main(String[] args) {
HTMLEditorKit kit = new HTMLEditorKit();
HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument();
StyleSheet styles = doc.getStyleSheet();
Enumeration rules = styles.getStyleNames();
while (rules.hasMoreElements()) {
String name = (String) rules.nextElement();
Style rule = styles.getStyle(name);
System.out.println(rule.toString());
}
System.exit(0);
}
}
Семантика того, когда стиль CSS должен переопределять визуальные атрибуты, определенные элементом, не определена четко. Например, html <body bgcolor=red> делает фон тела красным. Но если html-файл также содержит правило CSS body { background: blue }, становится менее ясным, каким должен быть цвет фона тела. Текущая реализация присваивает визуальным атрибутам, определенным в элементе, наивысший приоритет, то есть они всегда проверяются перед любыми стилями. Следовательно, в предыдущем примере фон будет иметь красный цвет, так как элемент тела определяет цвет фона как красный.
Как уже упоминалось, это поддерживает CSS. Мы не поддерживаем полную спецификацию CSS. Обратитесь к javadoc класса CSS, чтобы узнать, какие свойства мы поддерживаем. Два основных понятия, связанных с разбором CSS, которые мы в настоящее время не поддерживаем, — это псевдоселекторы, такие как A:link { color: red }, и модификатор important.
- Примечание реализации:
- Эта реализация в настоящее время неполна. Ее можно заменить альтернативными реализациями, которые будут полными. Будущие версии этого класса обеспечат лучшую поддержку CSS.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
StyleSheet.BoxPainter |
Класс для выполнения некоторых задач форматирования CSS. |
static final class |
StyleSheet.ListPainter |
Класс для выполнения некоторых задач форматирования списков CSS. |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.text.StyleContext
StyleContext.NamedStyle, StyleContext.SmallAttributeSet
Краткое описание полей
Поля, объявленные в классе javax.swing.text.StyleContext
DEFAULT_STYLE
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StyleSheet() |
Создать StyleSheet |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
AttributeSet |
addAttribute |
Добавляет атрибут в заданный набор и возвращает новый набор представителей. |
AttributeSet |
addAttributes |
Добавляет набор атрибутов к элементу. |
void |
addCSSAttribute |
Добавляет атрибут CSS в заданный набор. |
boolean |
addCSSAttributeFromHTML |
Добавляет атрибут CSS в заданный набор. |
void |
addRule |
Добавляет набор правил в лист. |
void |
addStyleSheet |
Добавляет правила из StyleSheet ss к правилам получателя. |
protected MutableAttributeSet |
createLargeAttributeSet |
Создаёт большой набор атрибутов, который должен обеспечивать быстрый доступ в обмен на использование памяти. |
protected StyleContext.SmallAttributeSet |
createSmallAttributeSet |
Создаёт компактный набор атрибутов, который может быть общим. |
Color |
getBackground |
Преобразует набор атрибутов в спецификацию цвета фона. |
URL |
getBase() |
Возвращает базовый элемент. |
StyleSheet.BoxPainter |
getBoxPainter |
Получает форматтер для заданного набора атрибутов CSS. |
AttributeSet |
getDeclaration |
Переводит объявление CSS в AttributeSet, представляющий данное объявление CSS. |
Font |
getFont |
Получает шрифт для заданного набора атрибутов. |
Color |
getForeground |
Преобразует набор атрибутов в спецификацию цвета переднего плана. |
static int |
getIndexOfSize |
Возвращает индекс модели размера HTML/CSS. |
StyleSheet.ListPainter |
getListPainter |
Получает форматтер списков для заданного набора атрибутов CSS. |
float |
getPointSize |
Возвращает размер шрифта, заданный индексом размера. |
float |
getPointSize |
Принимает строку, такую как "+2", "-2" или "2", и возвращает значение размера шрифта. |
Style |
getRule |
Получает правило, которое лучше всего соответствует селектору, заданному в строковой форме. |
Style |
getRule |
Получает стиль для отображения заданного типа тега HTML. |
StyleSheet[] |
getStyleSheets() |
Возвращает массив связанных StyleSheets. |
AttributeSet |
getViewAttributes |
Получает набор атрибутов, используемых в представлении для отображения. |
void |
importStyleSheet |
Импортирует лист стилей из url. |
void |
loadRules |
Загружает набор правил, заданных в терминах грамматики CSS1. |
AttributeSet |
removeAttribute |
Удаляет атрибут из набора. |
AttributeSet |
removeAttributes |
Удаляет набор атрибутов для элемента. |
AttributeSet |
removeAttributes |
Удаляет набор атрибутов. |
void |
removeStyle |
Удаляет ранее добавленный в документ именованный стиль. |
void |
removeStyleSheet |
Удаляет StyleSheet ss из тех, что относятся к получателю. |
void |
setBase |
Устанавливает базовый элемент. |
void |
setBaseFontSize |
Устанавливает базовый размер шрифта, с допустимыми значениями от 1 до 7. |
void |
setBaseFontSize |
Устанавливает базовый размер шрифта из переданной строки. |
Color |
stringToColor |
Преобразует строку цвета, такую как "RED" или "#NNNNNN", в цвет. |
AttributeSet |
translateHTMLToCSS |
Преобразует набор атрибутов HTML в эквивалентный набор атрибутов CSS. |
Методы, объявленные в классе javax.swing.text.StyleContext
addChangeListener, addStyle, getChangeListeners, getCompressionThreshold, getDefaultStyleContext, getEmptySet, getFont, getFontMetrics, getStaticAttribute, getStaticAttributeKey, getStyle, getStyleNames, readAttributes, readAttributeSet, reclaim, registerStaticAttributeKey, removeChangeListener, toString, writeAttributes, writeAttributeSet
Подробное описание конструкторов
StyleSheet
public StyleSheet()
Подробное описание методов
getRule
public Style getRule(HTML.Tag t, Element e)
- Параметры:
-
t- тип для преобразования в визуальные атрибуты -
e- элемент, представляющий тег; элемент может быть использован для определения вложенности в ситуациях, когда атрибуты отличаются при вложенности внутри других элементов - Возвращает:
- набор атрибутов CSS, используемых для отображения тега
getRule
public Style getRule(String selector)
selector - это строка элементов, разделенных пробелами. Например, selector может быть 'html body tr td'. Атрибуты возвращаемого стиля будут изменяться по мере добавления и удаления правил. То есть, если вы запросите правило с селектором "table p", а затем будет добавлено новое правило с селектором "p", возвращаемый стиль будет включать новые атрибуты из правила "p".
- Параметры:
-
selector- строка элементов, разделенных пробелами. - Возвращает:
- правило, которое наилучшим образом соответствует селектору.
addRule
public void addRule(String rule)
- Параметры:
-
rule- набор правил
getDeclaration
public AttributeSet getDeclaration(String decl)
- Параметры:
-
decl- объявление CSS - Возвращает:
- набор атрибутов, представляющих объявление CSS.
loadRules
public void loadRules(Reader in, URL ref) throws IOException
- Параметры:
-
in- поток для чтения грамматики CSS -
ref- ссылка URL. Это значение представляет расположение потока и может быть null. Все относительные URL, указанные в потоке, будут относительны к этому параметру. - Исключения:
-
IOException- если произошла ошибка ввода-вывода.
getViewAttributes
public AttributeSet getViewAttributes(View v)
- Параметры:
-
v- представление - Возвращает:
- набор атрибутов
removeStyle
public void removeStyle(String nm)
- Переопределяет:
-
removeStyleв классеStyleContext - Параметры:
-
nm- имя стиля для удаления
addStyleSheet
public void addStyleSheet(StyleSheet ss)
ss к правилам получателя. Правила, добавленные последними, будут переопределять правила ранее добавленных таблиц стилей. Добавляемый StyleSheet никогда не переопределит правила получателя.- Параметры:
-
ss- StyleSheet - С тех пор как:
- 1.3
removeStyleSheet
public void removeStyleSheet(StyleSheet ss)
ss из получателя.- Параметры:
-
ss- StyleSheet - С тех пор как:
- 1.3
getStyleSheets
public StyleSheet[] getStyleSheets()
- Возвращает:
- массив StyleSheets.
- С тех пор как:
- 1.3
importStyleSheet
public void importStyleSheet(URL url)
url. Результирующие правила напрямую добавляются к получателю. Если вы не хотите, чтобы правила стали частью получателя, создайте новый StyleSheet и используйте addStyleSheet для его связывания.- Параметры:
-
url- URL - С тех пор как:
- 1.3
setBase
public void setBase(URL base)
base.- Параметры:
-
base- базовый каталог. - С тех пор как:
- 1.3
getBase
public URL getBase()
- Возвращает:
- базовый каталог.
- С тех пор как:
- 1.3
addCSSAttribute
public void addCSSAttribute(MutableAttributeSet attr, CSS.Attribute key, String value)
- Параметры:
-
attr- набор атрибутов -
key- свойство CSS -
value- значение атрибута HTML - С тех пор как:
- 1.3
addCSSAttributeFromHTML
public boolean addCSSAttributeFromHTML(MutableAttributeSet attr, CSS.Attribute key, String value)
- Параметры:
-
attr- набор атрибутов -
key- свойство CSS -
value- значение атрибута HTML - Возвращает:
-
trueесли атрибут HTMLvalueможет быть преобразован в атрибут CSS, в противном случае false. - С тех пор как:
- 1.3
translateHTMLToCSS
public AttributeSet translateHTMLToCSS(AttributeSet htmlAttrSet)
- Параметры:
-
htmlAttrSet- AttributeSet, содержащий атрибуты HTML. - Возвращает:
- набор атрибутов CSS.
addAttribute
public AttributeSet addAttribute(AttributeSet old, Object key, Object value)
- Определено в:
-
addAttributeв интерфейсеAbstractDocument.AttributeContext - Переопределяет:
-
addAttributeв классеStyleContext - Параметры:
-
old- старый набор атрибутов -
key- ключ атрибута (не null) -
value- значение атрибута - Возвращает:
- обновленный набор атрибутов
- См. также:
addAttributes
public AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
- Определено в:
-
addAttributesв интерфейсеAbstractDocument.AttributeContext - Переопределяет:
-
addAttributesв классеStyleContext - Параметры:
-
old- старый набор атрибутов -
attr- набор атрибутов для добавления - Возвращает:
- обновленный набор атрибутов
- См. также:
удалитьАтрибут
public AttributeSet removeAttribute(AttributeSet old, Object key)
- Определено в:
-
removeAttributeв интерфейсеAbstractDocument.AttributeContext - Переопределяет:
-
removeAttributeв классеStyleContext - Параметры:
-
old- старый набор атрибутов -
key- имя атрибута (не null) - Возвращает:
- обновленный набор атрибутов
- См. также:
удалитьАтрибуты
public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
- Определено в:
-
removeAttributesв интерфейсеAbstractDocument.AttributeContext - Переопределяет:
-
removeAttributesв классеStyleContext - Параметры:
-
old- старый набор атрибутов -
names- имена атрибутов - Возвращает:
- обновленный набор атрибутов
- См. также:
удалитьАтрибуты
public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
- Определено в:
-
removeAttributesв интерфейсеAbstractDocument.AttributeContext - Переопределяет:
-
removeAttributesв классеStyleContext - Параметры:
-
old- старый набор атрибутов -
attrs- атрибуты - Возвращает:
- обновленный набор атрибутов
- См. также:
создатьКомпактныйНаборАтрибутов
protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
- Переопределяет:
-
createSmallAttributeSetв классеStyleContext - Параметры:
-
a- набор атрибутов для представления в компактной форме. - Возвращает:
- компактный набор атрибутов, который может быть совместно использован
создатьРазвернутыйНаборАтрибутов
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)
- Переопределяет:
-
createLargeAttributeSetв классеStyleContext - Параметры:
-
a- набор атрибутов для представления в развернутом формате. - Возвращает:
- развернутый набор атрибутов, который жертвует объёмом памяти для скорости
получитьШрифт
public Font getFont(AttributeSet a)
- Переопределяет:
-
getFontв классеStyleContext - Параметры:
-
a- набор атрибутов - Возвращает:
- шрифт
получитьЦветПереднегоПлана
public Color getForeground(AttributeSet a)
- Переопределяет:
-
getForegroundв классеStyleContext - Параметры:
-
a- набор атрибутов - Возвращает:
- цвет
получитьЦветФона
public Color getBackground(AttributeSet a)
- Переопределяет:
-
getBackgroundв классеStyleContext - Параметры:
-
a- набор атрибутов - Возвращает:
- цвет
получитьРисовальщикРамки
public StyleSheet.BoxPainter getBoxPainter(AttributeSet a)
- Параметры:
-
a- набор атрибутов CSS - Возвращает:
- форматировщик рамки.
получитьРисовальщикСписка
public StyleSheet.ListPainter getListPainter(AttributeSet a)
- Параметры:
-
a- набор атрибутов CSS - Возвращает:
- форматировщик списка.
установитьБазовыйРазмерШрифта
public void setBaseFontSize(int sz)
- Параметры:
-
sz- размер шрифта.
установитьБазовыйРазмерШрифта
public void setBaseFontSize(String size)
- Параметры:
-
size- размер шрифта.
получитьИндексРазмера
public static int getIndexOfSize(float pt)
- Параметры:
-
pt- размер в пунктах - Возвращает:
- индекс модели размера HTML/CSS.
получитьРазмерВПунктах
public float getPointSize(int index)
- Параметры:
-
index- индекс размера - Возвращает:
- значение размера в пунктах.
получитьРазмерВПунктах
public float getPointSize(String size)
- Параметры:
-
size- строка CSS, описывающая размер шрифта - Возвращает:
- значение размера в пунктах.
строкаВЦвет
public Color stringToColor(String string)
- Параметры:
-
string- строка цвета, например, "RED" или "#NNNNNN" - Возвращает:
- цвет
© 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/html/StyleSheet.html