JavaTM Platform
Standard Ed. 6

javax.swing.text
类 PlainDocument

java.lang.Object
  继承者 javax.swing.text.AbstractDocument
      继承者 javax.swing.text.PlainDocument
所有已实现的接口:
Serializable, Document

public class PlainDocument
     
extends AbstractDocument

维护无任何字符属性的普通文档。此文档的默认元素结构是文本中的行的映射。由 getDefaultRootElement 返回的 Element 是行的映射,且每个子元素表示一行。此模型不维护任何字符级属性,但每行都可以用一个任意的属性集来标记。使用默认的根元素可以快速执行从行到偏移量和从偏移量到行的转换。由编辑激发的 DocumentEvent 的结构信息将指示行结构的更改。

默认的内容存储管理是通过间隙缓冲区实现 (GapContent) 执行的。如果编辑是连续的或集群化的(正如常见的那样),此操作支持对大型文档的高效合理编辑。

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 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 方法不是线程安全的,但此方法是线程安全的。有关更多信息,请参阅 How to Use Threads

指定者:
接口 Document 中的 insertString
覆盖:
AbstractDocument 中的 insertString
参数:
offs - 起始偏移量,该值 >= 0
str - 要插入的字符串;null/空字符串不执行任何操作
a - 插入内容的属性
抛出:
BadLocationException - 如果给定的插入位置不是文档中的有效位置
另请参见:
Document.insertString(int, java.lang.String, javax.swing.text.AttributeSet)

getDefaultRootElement

public Element getDefaultRootElement()
获取文档模型的默认根元素。

指定者:
接口 Document 中的 getDefaultRootElement
指定者:
AbstractDocument 中的 getDefaultRootElement
返回:
另请参见:
Document.getDefaultRootElement()

createDefaultRoot

protected AbstractDocument.AbstractElement createDefaultRoot()
创建用于表示默认文档结构的根元素。

返回:
基本元素

getParagraphElement

public Element getParagraphElement(int pos)
获取包含给定位置的段落元素。因为此文档只模型化行,所以返回的应为行。

指定者:
AbstractDocument 中的 getParagraphElement
参数:
pos - 起始偏移量,该值 >= 0
返回:
元素

insertUpdate

protected void insertUpdate(AbstractDocument.DefaultDocumentEvent chng,
                            AttributeSet attr)
随文本插入更新文档结构。这将在写锁定内发生。因为此文档只映射出行,所以只刷新行映射。

覆盖:
AbstractDocument 中的 insertUpdate
参数:
chng - 描述编辑的更改事件
attr - 插入文本的属性集

removeUpdate

protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
随文本的移除更新任何文档结构。这将在写锁定内发生。因为此结构只表示行映射,所以此方法只检查是否移除行间距。如果是,移除区域外的两行将合并在一起。

覆盖:
AbstractDocument 中的 removeUpdate
参数:
chng - 描述编辑的更改事件

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策