public class PlainDocument
维护无任何字符属性的普通文档。此文档的默认元素结构是文本中的行的映射。由 getDefaultRootElement 返回的 Element 是行的映射,且每个子元素表示一行。此模型不维护任何字符级属性,但每行都可以用一个任意的属性集来标记。使用默认的根元素可以快速执行从行到偏移量和从偏移量到行的转换。由编辑激发的 DocumentEvent 的结构信息将指示行结构的更改。
默认的内容存储管理是通过间隙缓冲区实现 (GapContent) 执行的。如果编辑是连续的或集群化的(正如常见的那样),此操作支持对大型文档的高效合理编辑。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
嵌套类摘要
字段摘要
static String
static String
字段详细信息
tabSizeAttribute
public static final String tabSizeAttribute
指定内容中包含的制表符大小的属性名称。值的类型为 Integer。
另请参见:
lineLimitAttribute
public static final String lineLimitAttribute
指定行的最大长度的属性名称(如果有最大长度)。值的类型为 Integer。
另请参见:
构造方法详细信息
PlainDocument
public PlainDocument()
构造一个纯文本文档。构造和设置一个使用
GapContent 的默认模型。
PlainDocument
构造一个纯文本文档。创建一个默认的根元素,并将制表符大小设置为 8。
参数:
c - 内容容器
方法详细信息
insertString
public void insertString(int offs,
String str,
AttributeSet a)
throws BadLocationException
向文档中插入某些内容。插入内容会导致在实际发生改变时存储写锁定,接着会向线程上抓取该写入锁定的观察者发出通知。
虽然大多数 Swing 方法不是线程安全的,但此方法是线程安全的。有关更多信息,请参阅 How to Use Threads。
getDefaultRootElement
public Element getDefaultRootElement()
createDefaultRoot
创建用于表示默认文档结构的根元素。
返回:
基本元素
getParagraphElement
public Element getParagraphElement(int pos)
获取包含给定位置的段落元素。因为此文档只模型化行,所以返回的应为行。
参数:
pos - 起始偏移量,该值 >= 0
返回:
元素
insertUpdate
随文本插入更新文档结构。这将在写锁定内发生。因为此文档只映射出行,所以只刷新行映射。
参数:
chng - 描述编辑的更改事件
attr - 插入文本的属性集
removeUpdate
随文本的移除更新任何文档结构。这将在写锁定内发生。因为此结构只表示行映射,所以此方法只检查是否移除行间距。如果是,移除区域外的两行将合并在一起。
参数:
chng - 描述编辑的更改事件