Spec-Zone.ru › OpenJDK 21

Класс 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)
Вставляет новые элементы в bulk.
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 - следует ли заменить существующие атрибуты или объединить их

Получить элемент абзаца

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

Получить элемент символа

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 - описание изменения документа

создатьКорневойЭлемент

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

ПолучитьЦветТекста

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

ПолучитьЦветФона

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

ПолучитьШрифт

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

ИзменениеСтиля

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

ДобавитьСлушателяИзмененийДокумента

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

УдалитьСлушателяИзмененийДокумента

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

© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/text/DefaultStyledDocument.html

Spec-Zone.ru

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