Класс 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 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 слушателям.

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

Указано в:
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)

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

Spec-Zone .ru
спецификации, руководства, описания, API