- java.lang.Object
-
- javax.swing.text.AbstractDocument
-
- javax.swing.text.PlainDocument
-
- All Implemented Interfaces:
-
Serializable
,Document
public class PlainDocument extends AbstractDocument
一个不保留字符属性的简单文档。 此文档的默认元素结构是文本中的行的映射。 getDefaultRootElement返回的元素是行的映射,每个子元素都表示一行。 此模型不保留任何字符级属性,但每行可以使用任意属性集进行标记。 可以使用默认的根元素快速执行到偏移量的行和偏移量。 通过编辑触发的DocumentEvent的结构信息将指示行结构更改。缺省内容存储管理由间隙缓冲区实现(GapContent)执行。 典型的是,当编辑是连续的或集群的时,它支持编辑合理的大文档,效率很高。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 另请参见:
-
Document
,AbstractDocument
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.text.AbstractDocument
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement
-
-
Field Summary
Fields Modifier and Type Field 描述 static String
lineLimitAttribute
如果有最大长度,则指定一行的最大长度的属性名称。static String
tabSizeAttribute
指定内容中包含的标签的标签大小的属性名称。-
Fields inherited from class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
-
Fields inherited from interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
-
-
构造方法摘要
构造方法 Constructor 描述 PlainDocument()
构造一个纯文本文档。PlainDocument(AbstractDocument.Content c)
构造一个纯文本文档。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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)
由于删除文字而更新任何文档结构。-
Methods inherited from class 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
-
-
-
-
字段详细信息
-
tabSizeAttribute
public static final String tabSizeAttribute
指定内容中包含的标签的标签大小的属性名称。 该值的类型是整数。- 另请参见:
- Constant Field Values
-
lineLimitAttribute
public static final String lineLimitAttribute
如果有最大长度,则指定一行的最大长度的属性名称。 该值的类型是整数。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
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方法都不是。 详情请见Concurrency in Swing 。
- Specified by:
-
insertString
在接口Document
- 重写:
-
insertString
在AbstractDocument
- 参数
-
offs
- 起始偏移量> = 0 -
str
- 要插入的字符串; 对空/空字符串不执行任何操作 -
a
- 插入内容的属性 - 异常
-
BadLocationException
- 给定的插入位置不是文档中的有效位置 - 另请参见:
-
Document.insertString(int, java.lang.String, javax.swing.text.AttributeSet)
-
getDefaultRootElement
public Element getDefaultRootElement()
获取文档模型的默认根元素。- Specified by:
-
getDefaultRootElement
在接口Document
- Specified by:
-
getDefaultRootElement
在AbstractDocument
- 结果
- 根
- 另请参见:
-
Document.getDefaultRootElement()
-
createDefaultRoot
protected AbstractDocument.AbstractElement createDefaultRoot()
创建用于表示默认文档结构的根元素。- 结果
- 元素基础
-
getParagraphElement
public Element getParagraphElement(int pos)
获取包含给定位置的段落元素。 由于本文档仅对线条进行建模,所以返回该行。- Specified by:
-
getParagraphElement
在AbstractDocument
- 参数
-
pos
- 起始偏移量> = 0 - 结果
- 元素
-
insertUpdate
protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng, AttributeSet attr)
更新由于文本插入而导致的文档结构。 这将在写锁中发生。 由于本文档简单地映射出来,我们刷新线图。- 重写:
-
insertUpdate
在AbstractDocument
- 参数
-
chng
- 描述dit的更改事件 -
attr
- 插入文本的属性集
-
removeUpdate
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
由于删除文字而更新任何文档结构。 这将在写锁中发生。 由于结构代表一条线图,所以只需检查移除是否跨越线。 如果是这样,除去区域外的两条线连接在一起。- 重写:
-
removeUpdate
在AbstractDocument
- 参数
-
chng
- 描述编辑的更改事件
-
-