Spec-Zone.ru › OpenJDK 25

Класс 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

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

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

Поля, объявленные в классе AbstractDocument

BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName

Поля, объявленные в интерфейсе 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)
Обновляет структуру документа в результате удаления текста.

Методы, объявленные в классе 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

Методы, объявленные в классе 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 — вставляемая строка; ничего не делает, если строка равна 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/PlainDocument.html

Spec-Zone.ru

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