Spec-Zone.ru › OpenJDK 24

Класс 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, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.

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

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

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

Вложенные классы/интерфейсы, объявленные в классе javax.swing.text.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
Размер буфера начального содержимого по умолчанию.

Поля, объявленные в классе javax.swing.text.AbstractDocument

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

Поля, объявленные в интерфейсе javax.swing.text.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)
Вызывается при изменении любого из стилей этого документа.

Методы, объявленные в классе javax.swing.text.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

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

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

Методы, объявленные в интерфейсе javax.swing.text.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, если предыдущие атрибуты должны быть заменены перед установкой новых атрибутов

Установить атрибуты абзаца

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. Абзац состоит как минимум из одного дочернего элемента, который обычно является листом.
Определено в:
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 - стиль, который изменился.

addDocumentListener

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

removeDocumentListener

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

Отправить отчет об ошибке или предложить улучшение
Для получения дополнительной информации по API и документации для разработчиков см. документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода. Другие версии.
Java является торговой маркой или зарегистрированной торговой маркой Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование регулируется лицензионными условиями и политикой перераспределения документации.
ПРОЕКТ 24-ea+36-Debian-1

© 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/DefaultStyledDocument.html

Spec-Zone.ru

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