Spec-Zone.ru › OpenJDK 17

Класс 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 слушателям после успешного завершения изменения.

Этот метод потокобезопасен, хотя большинство методов 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. Абзац состоит как минимум из одного дочернего элемента, который обычно является листовым.
Specified by:
getParagraphElement in interface StyledDocument
Specified by:
getParagraphElement in class AbstractDocument
Parameters:
pos - начальное смещение >= 0
Returns:
элемент

getCharacterElement

public Element getCharacterElement(int pos)
Получает элемент символа на основе позиции.
Specified by:
getCharacterElement in interface StyledDocument
Parameters:
pos - позиция в документе >= 0
Returns:
элемент

insertUpdate

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

removeUpdate

protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Обновляет структуру документа в результате удаления текста.
Overrides:
removeUpdate in class AbstractDocument
Parameters:
chng - описание изменения документа

createDefaultRoot

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

getForeground

public Color getForeground(AttributeSet attr)
Получает цвет переднего плана из набора атрибутов.
Specified by:
getForeground in interface StyledDocument
Parameters:
attr - набор атрибутов
Returns:
цвет

getBackground

public Color getBackground(AttributeSet attr)
Получает цвет фона из набора атрибутов.
Specified by:
getBackground in interface StyledDocument
Parameters:
attr - набор атрибутов
Returns:
цвет

getFont

public Font getFont(AttributeSet attr)
Получает шрифт из набора атрибутов.
Specified by:
getFont in interface StyledDocument
Parameters:
attr - набор атрибутов
Returns:
шрифт

styleChanged

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

addDocumentListener

public void addDocumentListener(DocumentListener listener)
Добавляет слушателя изменений документа для уведомлений о любых изменениях.
Specified by:
addDocumentListener in interface Document
Overrides:
addDocumentListener in class AbstractDocument
Parameters:
listener - слушатель
See Also:
  • Document.addDocumentListener(javax.swing.event.DocumentListener)

removeDocumentListener

public void removeDocumentListener(DocumentListener listener)
Удаляет слушателя изменений документа.
Specified by:
removeDocumentListener in interface Document
Overrides:
removeDocumentListener in class AbstractDocument
Parameters:
listener - слушатель
See Also:
  • Document.removeDocumentListener(javax.swing.event.DocumentListener)

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

Spec-Zone.ru

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