Spec-Zone.ru › OpenJDK 27

Класс PlainDocument

java.lang.Object
javax.swing.text.AbstractDocument
javax.swing.text.PlainDocument
Все реализованные интерфейсы:
Serializable, Document
public class PlainDocument extends AbstractDocument
Обычный документ, не поддерживающий атрибуты символов. Структура элементов этого документа по умолчанию представляет собой карту строк текста. Элемент, возвращаемый методом getDefaultRootElement, является картой строк, а каждый дочерний элемент представляет строку. Эта модель не поддерживает атрибуты на уровне символов, однако каждой строке можно назначить произвольный набор атрибутов. Преобразование строки в смещение и смещения в строку можно быстро выполнять с помощью корневого элемента по умолчанию. Информация о структуре событий DocumentEvent, генерируемых при редактировании, указывает на изменения структуры строк.

Управление хранением содержимого по умолчанию осуществляется с помощью реализации буфера с зазором (GapContent). Она эффективно поддерживает редактирование документов достаточно большого размера, если изменения выполняются последовательно или группами, как это обычно бывает.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

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

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

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

Краткое описание полей

Модификатор и тип Поле Описание
static final String lineLimitAttribute
Имя атрибута, задающего максимальную длину строки, если она ограничена.
static final String tabSizeAttribute
Имя атрибута, задающего размер табуляции для символов табуляции в содержимом.

Поля, объявленные в классе 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
Имя свойства, содержащее заголовок документа, если он задан.

Краткое описание конструкторов

Конструктор Описание
PlainDocument()
Создает документ с обычным текстом.
PlainDocument(AbstractDocument.Content c)
Создает документ с обычным текстом.

Краткое описание методов

Модификатор и тип Метод Описание
protected AbstractDocument.AbstractElement createDefaultRoot()
Создает корневой элемент, используемый для представления структуры документа по умолчанию.
Element getDefaultRootElement()
Возвращает корневой элемент документа по умолчанию.
Element getParagraphElement(int pos)
Возвращает элемент абзаца, содержащий указанную позицию.
void insertString(int offs, String str, AttributeSet a)
Вставляет содержимое в документ.
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
Обновляет структуру документа в результате вставки текста.
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
Обновляет структуру документа в результате удаления текста.

Методы, объявленные в классе AbstractDocument

addDocumentListener, 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, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeDocumentListener, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
Модификатор и тип Метод Описание
void addDocumentListener(DocumentListener listener)
Добавляет слушателя документа для получения уведомлений об изменениях.
void addUndoableEditListener(UndoableEditListener listener)
Добавляет слушателя отмены действий для получения уведомлений об изменениях.
protected Element createBranchElement(Element parent, AttributeSet a)
Создает ветвевой элемент документа, который может содержать другие элементы.
protected Element createLeafElement(Element parent, AttributeSet a, int p0, int p1)
Создает листовой элемент документа.
Position createPosition(int offs)
Возвращает позицию, отслеживающую изменения при редактировании документа.
void dump(PrintStream out)
Выводит диагностическую информацию.
protected void fireChangedUpdate(DocumentEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
protected void fireInsertUpdate(DocumentEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
protected void fireRemoveUpdate(DocumentEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
protected void fireUndoableEditUpdate(UndoableEditEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
int getAsynchronousLoadPriority()
Возвращает приоритет асинхронной загрузки.
protected final AbstractDocument.AttributeContext getAttributeContext()
Возвращает контекст для управления атрибутами.
Element getBidiRootElement()
Возвращает корневой элемент двунаправленной структуры этого документа.
protected final AbstractDocument.Content getContent()
Возвращает содержимое документа.
protected final Thread getCurrentWriter()
Возвращает текущий поток записи, если он существует.
DocumentFilter getDocumentFilter()
Возвращает DocumentFilter, отвечающий за фильтрацию вставки и удаления.
DocumentListener[] getDocumentListeners()
Возвращает массив всех слушателей документа, зарегистрированных для этого документа.
Dictionary<Object,Object> getDocumentProperties()
Предоставляет средства для управления набором свойств.
final Position getEndPosition()
Возвращает позицию, соответствующую концу документа.
int getLength()
Возвращает длину данных.
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, зарегистрированных в данный момент как FooListener в этом документе.
final Object getProperty(Object key)
Вспомогательный метод для получения значения свойства.
Element[] getRootElements()
Возвращает все определенные корневые элементы.
final Position getStartPosition()
Возвращает позицию, соответствующую началу документа.
String getText(int offset, int length)
Возвращает последовательность текста из документа.
void getText(int offset, int length, Segment txt)
Возвращает текст, содержащийся в указанной части документа.
UndoableEditListener[] getUndoableEditListeners()
Возвращает массив всех слушателей отменяемых изменений, зарегистрированных для этого документа.
protected void postRemoveUpdate(AbstractDocument.DefaultDocumentEvent chng)
Обновляет структуру документа в результате удаления текста.
final void putProperty(Object key, Object value)
Вспомогательный метод для сохранения значения свойства.
final void readLock()
Захватывает блокировку для чтения состояния документа.
final void readUnlock()
Снимает блокировку чтения.
void remove(int offs, int len)
Удаляет содержимое из документа.
void removeDocumentListener(DocumentListener listener)
Удаляет слушателя документа.
void removeUndoableEditListener(UndoableEditListener listener)
Удаляет слушателя отмены действий.
void render(Runnable r)
Это позволяет безопасно отображать модель при наличии параллельных операций, если модель поддерживает асинхронное обновление.
void replace(int offset, int length, String text, AttributeSet attrs)
Удаляет фрагмент текста от offset до offset + length и заменяет его на text.
void setAsynchronousLoadPriority(int p)
Задает приоритет асинхронной загрузки.
void setDocumentFilter(DocumentFilter filter)
Задает DocumentFilter.
void setDocumentProperties(Dictionary<Object,Object> x)
Заменяет словарь свойств этого документа.
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(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело и подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова notify или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

tabSizeAttribute

public static final String tabSizeAttribute
Имя атрибута, задающего размер табуляции для символов табуляции в содержимом. Тип значения — Integer.
См. также:
  • Значения константных полей

lineLimitAttribute

public static final String lineLimitAttribute
Имя атрибута, задающего максимальную длину строки, если она ограничена. Тип значения — Integer.
См. также:
  • Значения константных полей

Подробное описание конструкторов

PlainDocument

public PlainDocument()
Создает документ с обычным текстом. Создается и устанавливается модель по умолчанию с использованием GapContent.

PlainDocument

public PlainDocument(AbstractDocument.Content c)
Создает документ с обычным текстом. Создается корневой элемент по умолчанию, размер табуляции устанавливается равным 8.
Параметры:
c — контейнер для содержимого

Подробное описание методов

insertString

public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
Вставляет содержимое в документ. Во время внесения изменений удерживается блокировка записи, после чего наблюдатели уведомляются в потоке, захватившем блокировку записи.

Этот метод потокобезопасен, хотя большинство методов Swing — нет. Дополнительные сведения см. в разделе Параллельное выполнение в Swing.

Определено в:
insertString в интерфейсе Document
Переопределяет:
insertString в классе AbstractDocument
Параметры:
offs — начальное смещение >= 0
str — вставляемая строка; если строка равна null или пуста, ничего не происходит
a — атрибуты вставляемого содержимого
Исключения:
BadLocationException — указанная позиция вставки недопустима для этого документа
См. также:
  • Document.insertString(int, String, AttributeSet)

getDefaultRootElement

public Element getDefaultRootElement()
Возвращает корневой элемент модели документа по умолчанию.
Определено в:
getDefaultRootElement в интерфейсе Document
Определено в:
getDefaultRootElement в классе AbstractDocument
Возвращает:
корневой элемент
См. также:
  • Document.getDefaultRootElement()

createDefaultRoot

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

getParagraphElement

public Element getParagraphElement(int pos)
Возвращает элемент абзаца, содержащий указанную позицию. Поскольку эта модель документа представляет только строки, вместо него возвращается строка.
Определено в:
getParagraphElement в классе AbstractDocument
Параметры:
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 — событие изменения, описывающее редактирование

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документация для разработчиков доступны в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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