Класс PlainDocument
- java.lang.Object
-
- javax.swing.text.AbstractDocument
-
- javax.swing.text.PlainDocument
- Все реализованные интерфейсы:
- Serializable, Document
public class PlainDocument extends AbstractDocument
Простой документ, не поддерживающий атрибуты символов. Стандартная структура элементов этого документа — это отображение строк текста. Элемент, возвращаемый методом getDefaultRootElement, представляет собой отображение строк, а каждый дочерний элемент — это строка. Эта модель не сохраняет атрибуты на уровне символов, но каждая строка может быть помечена произвольным набором атрибутов. Перевод из строки в смещение и из смещения в строку можно быстро выполнить с помощью стандартного корневого элемента. Информация о структуре документа, которая генерируется при редактировании, указывает на изменения в структуре строк.
Управление хранением содержимого по умолчанию выполняется с помощью реализации с зазорами (GapContent). Это позволяет эффективно редактировать достаточно большие документы, когда правки являются непрерывными или сгруппированными, как это обычно бывает.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
-
Document,AbstractDocument
Вложенные классы
Вложенные классы/интерфейсы, унаследованные от класса javax.swing.text.AbstractDocument
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
lineLimitAttribute Имя атрибута, определяющего максимальную длину строки, если она ограничена. |
static String |
tabSizeAttribute Имя атрибута, определяющего размер табуляции для табуляций, содержащихся в содержимом. |
Поля, унаследованные от класса javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName Поля, унаследованные от интерфейса javax.swing.text.Document
StreamDescriptionProperty, 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) Обновляет структуру документа в результате удаления текста. |
Методы, унаследованные от класса javax.swing.text.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 Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
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— строка для вставки; не выполняет никаких действий с нулевыми/пустыми строками -
a— атрибуты вставляемого содержимого - Исключения:
-
BadLocationException— заданная позиция вставки не является допустимой позицией в документе - См. также:
Document.insertString(int, java.lang.String, javax.swing.text.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— событие изменения, описывающее редактирование
© 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.