Класс DefaultStyledDocument
- Все реализуемые интерфейсы:
Serializable, Document, StyledDocument
- Прямые известные подклассы:
HTMLDocument
public class DefaultStyledDocument extends AbstractDocument implements StyledDocument
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакете java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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 | Модификатор и тип | Класс | Описание |
|---|---|---|
class |
AbstractDocument.AbstractElement |
Реализует абстрактную часть элемента. |
static interface |
AbstractDocument.AttributeContext |
Интерфейс, позволяющий реализациям MutableAttributeSet использовать подключаемые методы сжатия атрибутов. |
class |
AbstractDocument.BranchElement |
Реализует составной элемент, содержащий другие элементы. |
static interface |
AbstractDocument.Content |
Интерфейс для описания последовательности символьного содержимого, которое можно редактировать. |
class |
AbstractDocument.DefaultDocumentEvent |
Сохраняет изменения документа по мере его изменения. |
static class |
AbstractDocument.ElementEdit |
Реализация ElementChange, которую можно добавить в событие документа. |
class |
AbstractDocument.LeafElement |
Реализует элемент, напрямую представляющий содержимое некоторого типа. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected DefaultStyledDocument.ElementBuffer |
buffer |
Буфер элементов. |
static final int |
BUFFER_SIZE_DEFAULT |
Размер буфера исходного содержимого по умолчанию. |
Поля, объявленные в классе AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName | Модификатор и тип | Поле | Описание |
|---|---|---|
protected static final String |
BAD_LOCATION |
Сообщение об ошибке, указывающее на недопустимое местоположение. |
static final String |
BidiElementName |
Имя элементов, используемых для хранения однонаправленной последовательности |
static final String |
ContentElementName |
Имя элементов, используемых для представления содержимого |
static final String |
ElementNameAttribute |
Имя атрибута, используемого для указания имён элементов. |
protected EventListenerList |
listenerList |
Список прослушивателей событий документа. |
static final String |
ParagraphElementName |
Имя элементов, используемых для представления абзацев |
static final String |
SectionElementName |
Имя элементов, используемых для хранения секций (строк/абзацев). |
Поля, объявленные в интерфейсе Document
StreamDescriptionProperty, TitleProperty | Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
StreamDescriptionProperty |
Имя свойства, содержащего описание потока, использованного для инициализации документа. |
static final String |
TitleProperty |
Имя свойства, содержащего заголовок документа, если он есть. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultStyledDocument() |
Создаёт документ со стилями по умолчанию. |
DefaultStyledDocument |
Создаёт документ со стилями. |
DefaultStyledDocument |
Создаёт документ со стилями, используя реализацию хранилища содержимого по умолчанию и общий набор стилей. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addDocumentListener |
Добавляет прослушиватель документа для уведомления о любых изменениях. |
Style |
addStyle |
Добавляет новый стиль в иерархию логических стилей. |
protected void |
create |
Инициализирует документ в соответствии с заданной структурой элементов (то есть структурой, возвращаемой методом getDefaultRootElement. |
protected AbstractDocument.AbstractElement |
createDefaultRoot() |
Создаёт корневой элемент, используемый для представления структуры документа по умолчанию. |
Color |
getBackground |
Получает цвет фона из набора атрибутов. |
Element |
getCharacterElement |
Получает символьный элемент по позиции. |
Element |
getDefaultRootElement() |
Получает корневой элемент по умолчанию. |
Font |
getFont |
Получает шрифт из набора атрибутов. |
Color |
getForeground |
Получает цвет переднего плана из набора атрибутов. |
Style |
getLogicalStyle |
Получает логический стиль, назначенный абзацу, содержащему указанную позицию. |
Element |
getParagraphElement |
Получает элемент абзаца со смещением pos. |
Style |
getStyle |
Получает ранее добавленный именованный стиль. |
Enumeration |
getStyleNames() |
Получает список имён стилей. |
protected void |
insert |
Вставляет новые элементы пакетно. |
protected void |
insertUpdate |
Обновляет структуру документа в результате вставки текста. |
void |
removeDocumentListener |
Удаляет прослушиватель документа. |
void |
removeElement |
Удаляет элемент из этого документа. |
void |
removeStyle |
Удаляет из документа ранее добавленный именованный стиль. |
protected void |
removeUpdate |
Обновляет структуру документа в результате удаления текста. |
void |
setCharacterAttributes |
Задаёт атрибуты для части документа. |
void |
setLogicalStyle |
Задаёт логический стиль для абзаца в указанной позиции. |
void |
setParagraphAttributes |
Задаёт атрибуты абзаца. |
protected void |
styleChanged |
Вызывается при изменении любого стиля этого документа. |
Методы, объявленные в классе 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addUndoableEditListener |
Добавляет прослушиватель отмены изменений для уведомления о любых изменениях. |
protected Element |
createBranchElement |
Создаёт ветвевой элемент документа, который может содержать другие элементы. |
protected Element |
createLeafElement |
Создаёт листовой элемент документа. |
Position |
createPosition |
Возвращает позицию, отслеживающую изменения документа. |
void |
dump |
Выводит диагностическую информацию. |
protected void |
fireChangedUpdate |
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireInsertUpdate |
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireRemoveUpdate |
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
protected void |
fireUndoableEditUpdate |
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
int |
getAsynchronousLoadPriority() |
Получает приоритет асинхронной загрузки. |
protected final AbstractDocument.AttributeContext |
getAttributeContext() |
Получает контекст для управления атрибутами. |
Element |
getBidiRootElement() |
Возвращает корневой элемент двунаправленной структуры этого документа. |
protected final AbstractDocument.Content |
getContent() |
Получает содержимое документа. |
protected final Thread |
getCurrentWriter() |
Получает текущий поток записи, если он существует. |
DocumentFilter |
getDocumentFilter() |
Возвращает DocumentFilter, отвечающий за фильтрацию вставки и удаления. |
DocumentListener[] |
getDocumentListeners() |
Возвращает массив всех прослушивателей документа, зарегистрированных в этом документе. |
Dictionary |
getDocumentProperties() |
Обеспечивает управление набором свойств. |
final Position |
getEndPosition() |
Возвращает позицию, соответствующую концу документа. |
int |
getLength() |
Возвращает длину данных. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, зарегистрированных в этом документе как FooListeners. |
final Object |
getProperty |
Вспомогательный метод для получения значения свойства. |
Element[] |
getRootElements() |
Получает все определённые корневые элементы. |
final Position |
getStartPosition() |
Возвращает позицию, соответствующую началу документа. |
String |
getText |
Получает последовательность текста из документа. |
void |
getText |
Получает текст, содержащийся в указанной части документа. |
UndoableEditListener[] |
getUndoableEditListeners() |
Возвращает массив всех прослушивателей отменяемых изменений, зарегистрированных в этом документе. |
void |
insertString |
Вставляет содержимое в документ. |
protected void |
postRemoveUpdate |
Обновляет структуру документа в результате удаления текста. |
final void |
putProperty |
Вспомогательный метод для сохранения значения свойства. |
final void |
readLock() |
Захватывает блокировку, чтобы начать чтение состояния документа. |
final void |
readUnlock() |
Снимает блокировку чтения. |
void |
remove |
Удаляет содержимое из документа. |
void |
removeUndoableEditListener |
Удаляет прослушиватель отмены изменений. |
void |
render |
Позволяет безопасно отображать модель при параллельном выполнении, если модель поддерживает асинхронное обновление. |
void |
replace |
Удаляет область текста от offset до offset + length и заменяет её на text. |
void |
setAsynchronousLoadPriority |
Задаёт приоритет асинхронной загрузки. |
void |
setDocumentFilter |
Задаёт DocumentFilter. |
void |
setDocumentProperties |
Заменяет словарь свойств этого документа. |
protected final void |
writeLock() |
Захватывает блокировку, чтобы начать изменение защищаемого ею документа. |
protected final void |
writeUnlock() |
Освобождает блокировку записи, ранее полученную с помощью writeLock. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API планируется удалить в будущей версии. Метод завершения устарел и планируется к удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
Подробное описание полей
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()
Подробное описание методов
getDefaultRootElement
public Element getDefaultRootElement()
- Определено в:
-
getDefaultRootElementв интерфейсеDocument - Определено в:
-
getDefaultRootElementв классеAbstractDocument - Возвращает:
- корневой элемент
- См. также:
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)
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— изменившийся стиль.
addDocumentListener
public void addDocumentListener(DocumentListener listener)
- Определено в:
-
addDocumentListenerв интерфейсеDocument - Переопределяет:
-
addDocumentListenerв классеAbstractDocument - Параметры:
-
listener— слушатель - См. также:
removeDocumentListener
public void removeDocumentListener(DocumentListener listener)
- Определено в:
-
removeDocumentListenerв интерфейсеDocument - Переопределяет:
-
removeDocumentListenerв классеAbstractDocument - Параметры:
-
listener— слушатель - См. также:
© 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.