Spec-Zone.ru › OpenJDK 17

Класс 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, добавлена поддержка длительного хранения всех 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 final String lineLimitAttribute
Имя атрибута, определяющего максимальную длину строки, если максимальная длина задана.
static final 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, 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/PlainDocument.html

Spec-Zone.ru

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