- 所有已实现的接口:
-
Serializable
,Document
,StyledDocument
- 直接已知的子类:
-
HTMLDocument
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将对所有JavaBeans的长期存储支持添加到java.beans
包中。请参见XMLEncoder
。
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
用于记住元素的属性集更改的UndoableEdit。class
用于管理元素层次结构更改的类。static class
用于构建元素的规范。protected class
文档的默认根元素... 映射出包含的段落/行。Nested classes/interfaces declared in class javax.swing.text.AbstractDocument
AbstractDocument.AbstractElement, AbstractDocument.AttributeContext, AbstractDocument.BranchElement, AbstractDocument.Content, AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractDocument.LeafElement
-
Field Summary
Modifier and TypeFieldDescriptionprotected DefaultStyledDocument.ElementBuffer
元素缓冲区。static final int
初始内容缓冲区的默认大小。Fields declared in class javax.swing.text.AbstractDocument
BAD_LOCATION, BidiElementName, ContentElementName, ElementNameAttribute, listenerList, ParagraphElementName, SectionElementName
Fields declared in interface javax.swing.text.Document
StreamDescriptionProperty, TitleProperty
-
Constructor Summary
ConstructorDescription构造默认样式文档。构造带有样式的文档。DefaultStyledDocument
(StyleContext styles) 使用默认内容存储实现和共享样式集构造带有样式的文档。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDocumentListener
(DocumentListener listener) 添加文档监听器以通知任何更改。将新样式添加到逻辑样式层次结构中。protected void
初始化文档以反映给定的元素结构(即getDefaultRootElement
方法报告的结构)。protected AbstractDocument.AbstractElement
创建用于表示默认文档结构的根元素。getBackground
(AttributeSet attr) 从属性集中获取背景颜色。getCharacterElement
(int pos) 基于位置获取字符元素。获取默认根元素。getFont
(AttributeSet attr) 从属性集中获取字体。getForeground
(AttributeSet attr) 从属性集中获取前景颜色。getLogicalStyle
(int p) 根据给定位置表示的段落获取逻辑样式。getParagraphElement
(int pos) 获取偏移量pos
处的段落元素。获取先前添加的命名样式。Enumeration
<?> 获取样式名称列表。protected void
insert
(int offset, DefaultStyledDocument.ElementSpec[] data) 批量插入新元素。protected void
作为文本插入的结果更新文档结构。void
removeDocumentListener
(DocumentListener listener) 移除文档监听器。void
removeElement
(Element elem) 从此文档中移除元素。void
removeStyle
(String nm) 从文档中移除先前添加的命名样式。protected void
作为文本移除的结果更新文档结构。void
setCharacterAttributes
(int offset, int length, AttributeSet s, boolean replace) 为文档的某个部分设置属性。void
setLogicalStyle
(int pos, Style s) 设置给定位置段落要使用的逻辑样式。void
setParagraphAttributes
(int offset, int length, AttributeSet s, boolean replace) 为段落设置属性。protected void
styleChanged
(Style style) 当文档的任何样式更改时调用。Methods declared in class javax.swing.text.AbstractDocument
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, insertString, postRemoveUpdate, putProperty, readLock, readUnlock, remove, removeUndoableEditListener, render, replace, setAsynchronousLoadPriority, setDocumentFilter, setDocumentProperties, writeLock, writeUnlock
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.swing.text.Document
addUndoableEditListener, createPosition, getEndPosition, getLength, getProperty, getRootElements, getStartPosition, getText, getText, insertString, putProperty, remove, removeUndoableEditListener, render
-
Field Details
-
BUFFER_SIZE_DEFAULT
public static final int BUFFER_SIZE_DEFAULT初始内容缓冲区的默认大小。- 参见:
-
buffer
元素缓冲区。
-
-
Constructor Details
-
DefaultStyledDocument
构造带有样式的文档。- 参数:
-
c
- 内容的容器 -
styles
- 可在文档之间共享的资源和样式定义
-
DefaultStyledDocument
使用默认内容存储实现和共享样式集构造带有样式的文档。- 参数:
-
styles
- 样式
-
DefaultStyledDocument
public DefaultStyledDocument()构造默认样式文档。此文档通过BUFFER_SIZE_DEFAULT的大小缓冲输入内容,并具有文档生命周期范围的样式上下文,不与其他文档共享。
-
-
Method Details
-
getDefaultRootElement
获取默认根元素。- 指定者:
-
getDefaultRootElement
在接口Document
中 - 指定者:
-
getDefaultRootElement
在类AbstractDocument
中 - 返回:
- 根
- 参见:
-
create
初始化文档以反映给定的元素结构(即通过getDefaultRootElement
方法报告的结构)。如果文档包含任何数据,将首先删除它。- 参数:
-
data
- 元素数据
-
insert
protected void insert(int offset, DefaultStyledDocument.ElementSpec[] data) throws BadLocationException 批量插入新元素。这对于允许在未锁定状态下使用文档进行解析并准备元素结构修改非常有用。此方法接受描述如何更新元素结构的令牌数组,因此在异步更新情况下可以大大减少写锁定内的时间。此方法是线程安全的,尽管大多数Swing方法不是。有关更多信息,请参见Swing中的并发性。
- 参数:
-
offset
- 起始偏移量 >= 0 -
data
- 元素数据 - 抛出:
-
BadLocationException
- 对于无效的起始偏移量
-
removeElement
从此文档中移除一个元素。该元素从其父元素和由元素标识的范围中的文本中移除。如果元素未与文档关联,则会抛出
IllegalArgumentException
。由于文档中不允许存在空分支元素,因此如果元素是唯一子元素,则其父元素也将被递归删除。这意味着在替换特定元素的所有子元素时,应先添加新子元素,然后再删除旧子元素。
元素移除会触发两个事件,一个是用于元素结构更改的
DocumentEvent
,另一个是用于文档内容更改的UndoableEditEvent
。如果元素包含内容结束标记(文档中的最后一个
"\n"
字符),则不会删除此字符;相反,前一个叶子元素将扩展以覆盖该字符。如果最后一个叶子已经以"\n"
结尾,则它将包含在内容移除中。如果元素为
null
,则会抛出NullPointerException
。如果移除后元素结构将变得无效,例如如果元素是文档根元素,则会抛出IllegalArgumentException
。如果当前元素结构无效,则会抛出IllegalStateException
。- 参数:
-
elem
- 要移除的元素 - 抛出:
-
NullPointerException
- 如果元素为null
-
IllegalArgumentException
- 如果无法移除元素 -
IllegalStateException
- 如果元素结构无效 - 自1.7起
-
addStyle
将新样式添加到逻辑样式层次结构中。样式属性从下到上解析,因此在子级中指定的属性将覆盖父级中指定的属性。- 指定者:
-
addStyle
在接口StyledDocument
中 - 参数:
-
nm
- 样式的名称(必须在命名样式集合中是唯一的)。如果样式未命名,则名称可以为null,但调用者负责管理返回的引用,因为无法通过名称获取未命名样式。未命名样式可能对于诸如样式运行中发现的字符属性覆盖等事物很有用。 -
parent
- 父样式。如果未指定属性需要在其他样式中解析,则此项可以为null。 - 返回:
- 样式
-
removeStyle
从文档中移除先前添加的命名样式。- 指定者:
-
removeStyle
在接口StyledDocument
中 - 参数:
-
nm
- 要移除的样式的名称
-
getStyle
获取先前添加的命名样式。- 指定者:
-
getStyle
在接口StyledDocument
中 - 参数:
-
nm
- 样式的名称 - 返回:
- 样式
-
getStyleNames
获取样式名称列表。- 返回:
- 所有的样式名称
-
setLogicalStyle
设置给定位置段落使用的逻辑样式。如果未为字符和段落属性明确设置属性,则将通过分配给段落的逻辑样式解析这些属性,而这可能会通过与文档中元素层次结构完全独立的某些层次解析。此方法是线程安全的,尽管大多数Swing方法不是。更多信息请参阅Swing中的并发性。
- 指定者:
-
setLogicalStyle
在接口StyledDocument
中 - 参数:
-
pos
- 距离文档开头的偏移量 >= 0 -
s
- 要分配给段落的逻辑样式,如果没有则为null
-
getLogicalStyle
获取给定位置表示的段落分配的逻辑样式。- 指定者:
-
getLogicalStyle
在接口StyledDocument
中 - 参数:
-
p
- 要转换为段落并确定分配的逻辑样式的位置 >= 0。这是从文档开头的偏移量。 - 返回:
- 样式,如果没有则为null
-
setCharacterAttributes
为文档的某个部分设置属性。在进行更改时,此操作会持有写锁,并在更改成功完成后向监听器发送DocumentEvent。offset
和length
定义设置属性的文本范围。如果长度<= 0,则不执行任何操作,方法只是返回。如果偏移量<=0或>文本长度,则不执行任何操作,方法只是返回。否则,如果offset + length
将超过文本的长度,则受影响的范围将被截断。此方法是线程安全的,尽管大多数Swing方法不是。更多信息请参阅Swing中的并发性。
- 指定者:
-
setCharacterAttributes
在接口StyledDocument
中 - 参数:
-
offset
- 文档中的偏移量 >= 0 -
length
- 长度 > 0 -
s
- 属性 -
replace
- 如果应在设置新属性之前替换先前的属性,则为true
-
setParagraphAttributes
为段落设置属性。此方法是线程安全的,尽管大多数Swing方法不是。更多信息请参阅Swing中的并发性。
- 指定者:
-
setParagraphAttributes
在接口StyledDocument
中 - 参数:
-
offset
- 段落中的偏移量 >= 0 -
length
- 受影响的字符数 >= 0 -
s
- 属性 -
replace
- 是否替换现有属性或合并它们
-
getParagraphElement
获取偏移量pos
处的段落元素。段落至少包含一个子元素,通常是一个叶子。- 指定者:
-
getParagraphElement
在接口StyledDocument
中 - 指定者:
-
getParagraphElement
在类AbstractDocument
中 - 参数:
-
pos
- 起始偏移量 >= 0 - 返回:
- 元素
-
getCharacterElement
根据位置获取字符元素。- 指定者:
-
getCharacterElement
在接口StyledDocument
- 参数:
-
pos
- 文档中的位置 >= 0 - 返回:
- 元素
-
insertUpdate
作为文本插入的结果更新文档结构。这将在写锁内发生。此实现简单地解析插入的内容以获取换行符,并构建一个元素缓冲区的指令集。- 覆盖:
-
insertUpdate
在类AbstractDocument
中 - 参数:
-
chng
- 文档更改的描述 -
attr
- 属性
-
removeUpdate
作为文本移除的结果更新文档结构。- 覆盖:
-
removeUpdate
在类AbstractDocument
中 - 参数:
-
chng
- 文档更改的描述
-
createDefaultRoot
创建用于表示默认文档结构的根元素。- 返回:
- 元素基础
-
getForeground
从属性集中获取前景色。- 指定者:
-
getForeground
在接口StyledDocument
中 - 参数:
-
attr
- 属性集 - 返回:
- 颜色
-
getBackground
从属性集中获取背景色。- 指定者:
-
getBackground
在接口StyledDocument
中 - 参数:
-
attr
- 属性集 - 返回:
- 颜色
-
getFont
从属性集中获取字体。- 指定者:
-
getFont
在接口StyledDocument
中 - 参数:
-
attr
- 属性集 - 返回:
- 字体
-
styleChanged
当文档的任何样式更改时调用。子类可能希望智能地处理哪些内容受损。- 参数:
-
style
- 已更改的样式
-
addDocumentListener
添加文档监听器以通知任何更改。- 指定者:
-
addDocumentListener
在接口Document
中 - 覆盖:
-
addDocumentListener
在类AbstractDocument
中 - 参数:
-
listener
- 监听器 - 参见:
-
removeDocumentListener
移除文档监听器。- 指定者:
-
removeDocumentListener
在接口Document
中 - 覆盖:
-
removeDocumentListener
在类AbstractDocument
中 - 参数:
-
listener
- 监听器 - 参见:
-