Spec-Zone.ru › OpenJDK 25

Класс DefaultStyledDocument

java.lang.Object
javax.swing.text.AbstractDocument
javax.swing.text.DefaultStyledDocument
Все реализованные интерфейсы:
Serializable, Document, StyledDocument
Прямые известные подклассы:
HTMLDocument
public class DefaultStyledDocument extends AbstractDocument implements StyledDocument
Документ, который можно форматировать с помощью стилей символов и абзацев аналогично формату Rich Text Format. Структура элементов этого документа представляет пересечения стилей для фрагментов текста. Эти фрагменты стилей сопоставляются со структурой элементов абзацев (которая может находиться в другой структуре). Фрагменты стилей разделяются границами абзацев, поскольку логические стили назначаются границам абзацев.

Предупреждение: Сериализованные объекты этого класса несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.

См. также:
  • Document
  • AbstractDocument

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  DefaultStyledDocument.AttributeUndoableEdit
UndoableEdit, используемый для запоминания изменений AttributeSet элемента.
class  DefaultStyledDocument.ElementBuffer
Класс для управления изменениями иерархии элементов.
static class  DefaultStyledDocument.ElementSpec
Спецификация построения элементов.
protected class  DefaultStyledDocument.SectionElement
Корневой элемент документа по умолчанию... отображает содержащиеся в нём абзацы/строки.

Вложенные классы/интерфейсы, объявленные в классе AbstractDocument

AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement

Краткое описание полей

Модификатор и тип Поле Описание
protected DefaultStyledDocument.ElementBuffer buffer
Буфер элементов.
static final int BUFFER_SIZE_DEFAULT
Размер буфера исходного содержимого по умолчанию.

Поля, объявленные в классе AbstractDocument

BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName

Поля, объявленные в интерфейсе Document

StreamDescriptionProperty, TitleProperty

Краткое описание конструкторов

Конструктор Описание
DefaultStyledDocument()
Создаёт документ со стилями по умолчанию.
DefaultStyledDocument(AbstractDocument.Content c, StyleContext styles)
Создаёт документ со стилями.
DefaultStyledDocument(StyleContext styles)
Создаёт документ со стилями, используя реализацию хранилища содержимого по умолчанию и общий набор стилей.

Краткое описание методов

Модификатор и тип Метод Описание
void addDocumentListener(DocumentListener listener)
Добавляет прослушиватель документа для уведомления о любых изменениях.
Style addStyle(String nm, Style parent)
Добавляет новый стиль в иерархию логических стилей.
protected void create(DefaultStyledDocument.ElementSpec[] data)
Инициализирует документ в соответствии с заданной структурой элементов (то есть структурой, о которой сообщает метод getDefaultRootElement.
protected AbstractDocument.AbstractElement createDefaultRoot()
Создаёт корневой элемент, используемый для представления структуры документа по умолчанию.
Color getBackground(AttributeSet attr)
Получает цвет фона из набора атрибутов.
Element getCharacterElement(int pos)
Получает элемент символа по позиции.
Element getDefaultRootElement()
Получает корневой элемент по умолчанию.
Font getFont(AttributeSet attr)
Получает шрифт из набора атрибутов.
Color getForeground(AttributeSet attr)
Получает цвет переднего плана из набора атрибутов.
Style getLogicalStyle(int p)
Получает логический стиль, назначенный абзацу, соответствующему заданной позиции.
Element getParagraphElement(int pos)
Получает элемент абзаца по смещению pos.
Style getStyle(String nm)
Получает ранее добавленный именованный стиль.
Enumeration<?> getStyleNames()
Получает список имён стилей.
protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data)
Вставляет новые элементы пакетом.
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Обновляет структуру документа в результате вставки текста.
void removeDocumentListener(DocumentListener listener)
Удаляет прослушиватель документа.
void removeElement(Element elem)
Удаляет элемент из этого документа.
void removeStyle(String nm)
Удаляет именованный стиль, ранее добавленный в документ.
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Обновляет структуру документа в результате удаления текста.
void setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace)
Задаёт атрибуты для части документа.
void setLogicalStyle(int pos, Style s)
Задаёт логический стиль для абзаца в указанной позиции.
void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
Задаёт атрибуты абзаца.
protected void styleChanged(Style style)
Вызывается при изменении любого стиля этого документа.

Методы, объявленные в классе AbstractDocument

addUndoableEditListener, createBranchElement, createLeafElement, createPosition, dump, fireChangedUpdate, fireInsertUpdate, fireRemoveUpdate, fireUndoableEditUpdate, getAsynchronousLoadPriority, getAttributeContext, getBidiRootElement, getContent, getCurrentWriter, getDocumentFilter, getDocumentListeners, getDocumentProperties, getEndPosition, getLength, getListeners, getProperty, getRootElements, getStartPosition, getText, getText, getUndoableEditListeners, insertString, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock

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

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

Методы, объявленные в интерфейсе Document

addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeUndoableEditListener, render

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

BUFFER_SIZE_DEFAULT

public static final int BUFFER_SIZE_DEFAULT
Размер буфера исходного содержимого по умолчанию.
См. также:
  • Значения констант полей

buffer

protected DefaultStyledDocument.ElementBuffer buffer
Буфер элементов.

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

DefaultStyledDocument

public DefaultStyledDocument(AbstractDocument.Content c, StyleContext styles)
Создаёт документ со стилями.
Параметры:
c — контейнер содержимого
styles — ресурсы и определения стилей, которыми могут совместно пользоваться документы

DefaultStyledDocument

public DefaultStyledDocument(StyleContext styles)
Создаёт документ со стилями, используя реализацию хранилища содержимого по умолчанию и общий набор стилей.
Параметры:
styles — стили

DefaultStyledDocument

public DefaultStyledDocument()
Создаёт документ со стилями по умолчанию. Этот документ буферизует входное содержимое размером BUFFER_SIZE_DEFAULT; контекст стилей ограничен временем существования документа и не используется совместно с другими документами.

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

getDefaultRootElement

public Element getDefaultRootElement()
Получает корневой элемент по умолчанию.
Определено в:
getDefaultRootElement в интерфейсе Document
Определено в:
getDefaultRootElement в классе AbstractDocument
Возвращает:
корневой элемент
См. также:
  • Document.getDefaultRootElement()

create

protected void create(DefaultStyledDocument.ElementSpec[] data)
Инициализирует документ в соответствии с заданной структурой элементов (то есть структурой, о которой сообщает метод getDefaultRootElement. Если документ содержит данные, они сначала удаляются.
Параметры:
data — данные элементов

insert

protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException
Вставляет новые элементы пакетом. Это позволяет выполнять разбор, пока документ разблокирован, и подготавливать изменение структуры элементов. Метод принимает массив токенов, описывающих способ обновления структуры элементов, чтобы значительно сократить время удержания блокировки записи при асинхронном обновлении.

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

Параметры:
offset — начальное смещение >= 0
data — данные элементов
Вызывает:
BadLocationException — если начальное смещение недопустимо

removeElement

public void removeElement(Element elem)
Удаляет элемент из этого документа.

Элемент удаляется из родительского элемента, а также удаляется текст в диапазоне, заданном этим элементом. Если элемент не связан с документом, выбрасывается IllegalArgumentException.

Поскольку пустые ветвящиеся элементы в документе не допускаются, если элемент является единственным дочерним элементом, его родительский элемент также удаляется рекурсивно. Это означает, что при замене всех дочерних элементов определённого элемента новые дочерние элементы следует добавлять до удаления старых.

При удалении элемента генерируются два события: DocumentEvent — при изменении структуры элементов и UndoableEditEvent — при изменении содержимого документа.

Если элемент содержит маркер конца содержимого (последний символ "\n" в документе), этот символ не удаляется; вместо этого предшествующий листовой элемент расширяется, чтобы включить его. Если последний листовой элемент уже заканчивается на "\n",, этот символ включается в удаляемое содержимое.

Если элемент является null,, выбрасывается NullPointerException. Если после удаления структура элементов станет недопустимой, например если элемент является корневым элементом документа, выбрасывается IllegalArgumentException. Если текущая структура элементов недопустима, выбрасывается IllegalStateException.

Параметры:
elem — удаляемый элемент
Вызывает:
NullPointerException — если элемент является null
IllegalArgumentException — если элемент не удалось удалить
IllegalStateException — если структура элементов недопустима
Начиная с версии:
1.7

addStyle

public Style addStyle(String nm, Style parent)
Добавляет новый стиль в иерархию логических стилей. Атрибуты разрешаются снизу вверх, поэтому атрибут, заданный для дочернего элемента, переопределяет атрибут, заданный для родительского.
Определено в:
addStyle в интерфейсе StyledDocument
Параметры:
nm — имя стиля (должно быть уникальным в коллекции именованных стилей). Имя может быть null, если стиль не имеет имени, но вызывающий код отвечает за управление возвращённой ссылкой, поскольку неименованный стиль нельзя получить по имени. Неименованный стиль может быть полезен, например, для переопределения атрибутов символов, как это бывает во фрагменте стиля.
parent — родительский стиль. Может быть null, если для неопределённых атрибутов не требуется выполнять поиск в другом стиле.
Возвращает:
стиль

removeStyle

public void removeStyle(String nm)
Удаляет именованный стиль, ранее добавленный в документ.
Определено в:
removeStyle в интерфейсе StyledDocument
Параметры:
nm — имя удаляемого стиля

getStyle

public Style getStyle(String nm)
Получает ранее добавленный именованный стиль.
Определено в:
getStyle в интерфейсе StyledDocument
Параметры:
nm — имя стиля
Возвращает:
стиль

getStyleNames

public Enumeration<?> getStyleNames()
Получает список имён стилей.
Возвращает:
все имена стилей

setLogicalStyle

public void setLogicalStyle(int pos, Style s)
Задаёт логический стиль для абзаца в указанной позиции. Если атрибуты символов и абзаца не заданы явно, они определяются на основе логического стиля, назначенного абзацу; этот стиль, в свою очередь, может определяться через иерархию, совершенно независимую от иерархии элементов документа.

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

Определено в:
setLogicalStyle в интерфейсе StyledDocument
Параметры:
pos — смещение от начала документа >= 0
s — логический стиль, назначаемый абзацу; null, если стиль не задан

getLogicalStyle

public Style getLogicalStyle(int p)
Получает логический стиль, назначенный абзацу, соответствующему заданной позиции.
Определено в:
getLogicalStyle в интерфейсе StyledDocument
Параметры:
p — позиция для определения соответствующего абзаца и назначенного ему логического стиля >= 0. Это смещение от начала документа.
Возвращает:
стиль или null, если он не задан

setCharacterAttributes

public void setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace)
Задаёт атрибуты для части документа. Во время внесения изменений эта операция удерживает блокировку записи; после успешного завершения изменений прослушивателям отправляется DocumentEvent.

offset и length задают диапазон текста, для которого устанавливаются атрибуты. Если длина <= 0, действие не выполняется и метод просто возвращает управление. Если смещение <=0 или > длины текста, действие не выполняется и метод просто возвращает управление. В противном случае, если offset + length превышает длину текста, затрагиваемый диапазон усекается.

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

Определено в:
setCharacterAttributes в интерфейсе StyledDocument
Параметры:
offset — смещение в документе >= 0
length — длина > 0
s — атрибуты
replace — true, если перед установкой новых атрибутов следует заменить предыдущие

setParagraphAttributes

public void setParagraphAttributes(int offset, int length, AttributeSet s, boolean replace)
Задаёт атрибуты абзаца.

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

Определено в:
setParagraphAttributes в интерфейсе StyledDocument
Параметры:
offset — смещение внутри абзаца >= 0
length — количество затрагиваемых символов >= 0
s — атрибуты
replace — заменять ли существующие атрибуты или объединить их с новыми

getParagraphElement

public Element getParagraphElement(int pos)
Получает элемент абзаца по смещению pos. Абзац состоит как минимум из одного дочернего элемента Element, который обычно является листовым.
Определено в:
getParagraphElement в интерфейсе StyledDocument
Определено в:
getParagraphElement в классе AbstractDocument
Параметры:
pos — начальное смещение >= 0
Возвращает:
элемент

getCharacterElement

public Element getCharacterElement(int pos)
Получает элемент символа по позиции.
Определено в:
getCharacterElement в интерфейсе StyledDocument
Параметры:
pos — позиция в документе >= 0
Возвращает:
элемент

insertUpdate

protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Обновляет структуру документа в результате вставки текста. Это происходит при удерживаемой блокировке записи. Данная реализация просто анализирует вставленное содержимое на предмет разрывов строк и формирует набор инструкций для буфера элементов.
Переопределяет:
insertUpdate в классе AbstractDocument
Параметры:
chng — описание изменения документа
attr — атрибуты

removeUpdate

protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Обновляет структуру документа в результате удаления текста.
Переопределяет:
removeUpdate в классе AbstractDocument
Параметры:
chng — описание изменения документа

createDefaultRoot

protected AbstractDocument.AbstractElement createDefaultRoot()
Создаёт корневой элемент, используемый для представления структуры документа по умолчанию.
Возвращает:
основу элемента

getForeground

public Color getForeground(AttributeSet attr)
Получает цвет переднего плана из набора атрибутов.
Определено в:
getForeground в интерфейсе StyledDocument
Параметры:
attr — набор атрибутов
Возвращает:
цвет

getBackground

public Color getBackground(AttributeSet attr)
Получает цвет фона из набора атрибутов.
Определено в:
getBackground в интерфейсе StyledDocument
Параметры:
attr — набор атрибутов
Возвращает:
цвет

getFont

public Font getFont(AttributeSet attr)
Получает шрифт из набора атрибутов.
Определено в:
getFont в интерфейсе StyledDocument
Параметры:
attr — набор атрибутов
Возвращает:
шрифт

styleChanged

protected void styleChanged(Style style)
Вызывается при изменении любого стиля этого документа. Подклассы могут реализовать интеллектуальную обработку повреждённых областей.
Параметры:
style — изменившийся объект Style.

addDocumentListener

public void addDocumentListener(DocumentListener listener)
Добавляет прослушиватель документа для уведомления о любых изменениях.
Определено в:
addDocumentListener в интерфейсе Document
Переопределяет:
addDocumentListener в классе AbstractDocument
Параметры:
listener — прослушиватель
См. также:
  • Document.addDocumentListener(DocumentListener)

removeDocumentListener

public void removeDocumentListener(DocumentListener listener)
Удаляет прослушиватель документа.
Определено в:
removeDocumentListener в интерфейсе Document
Переопределяет:
removeDocumentListener в классе AbstractDocument
Параметры:
listener — прослушиватель
См. также:
  • Document.removeDocumentListener(DocumentListener)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/DefaultStyledDocument.html

Spec-Zone.ru

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