uTools-Manuals/docs/java/javax/swing/text/AbstractDocument.html

1956 lines
93 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.swing.text
</div>
<h2 class="title" title="Class AbstractDocument">Class AbstractDocument</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.swing.text.AbstractDocument</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../java/io/Serializable.html" title="java.io中的接口">Serializable</a> <a href="../../../javax/swing/text/Document.html" title="javax.swing.text中的接口">Document</a></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../../javax/swing/text/DefaultStyledDocument.html" title="javax.swing.text中的类">DefaultStyledDocument</a> <a href="../../../javax/swing/text/PlainDocument.html" title="javax.swing.text中的类">PlainDocument</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">AbstractDocument</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a>, <a href="../../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
<div class="block">
<span>实现文档界面,作为实施各种文件的基础。</span>
<span>在这个级别上,政策很少,所以使用难度相应增加。</span>
<p> <span>该类实现了文档的锁定机制。</span> <span>它允许多个读者或一个作家,并且作者必须等待文档的所有观察者已经被通知之前的变化,然后再开始对文档的另一个突变。</span> <span>使用<code>render</code>方法获取并释放读锁。</span> <span>通过使文档变异的方法获取写锁定,并在方法调用期间保持写锁定。</span> <span>通知是在产生突变的线程上完成的,线程在通知期间具有对文档的完全读取访问权限,但是其他读者将被保留,直到通知完成。</span> <span>该通知是一个bean事件通知直到所有收听者都被通知为止它不允许任何进一步的突变。</span> </p>
<p> <span>任何从该类子类化并与从BasicTextUI导出的外观实现结合使用的模型可能会被异步地安全更新因为如果文档的类型为AbstractDocument则由BasicTextUI对所有对View层次结构的访问进行序列<code>AbstractDocument</code></span> <span>锁定假定一个独立的线程只能从DocumentListener方法访问View层次结构并且一次只有一个事件线程处于活动状态。</span> </p>
<p> <span>如果需要并发支持,还有以下附加的含义。</span> <span>任何DocumentListener实现和任何UndoListener实现的代码路径必须是线程安全的如果尝试从死锁中安全则不访问组件锁。</span> <span><code>repaint</code><code>revalidate</code>方法是安全的。</span> </p>
<p> <span>AbstractDocument在文档末尾建立隐含的断点。</span> <span>除此之外,您可以在最后一个字符之后放置插入符号。</span> <span>因此, <code>getLength</code>返回的内容比内容的长度少一个。</span> <span>如果您创建自己的内容,请确保并初始化它以增加一个字符。</span> <span>参考StringContent和GapContent的例子。</span> <span>另一个含义是对隐含结束字符建模的元素将具有endOffset ==getLength+ 1</span> <span>例如在DefaultStyledDocument <code>getParagraphElement(getLength()).getEndOffset() == getLength() + 1</code></span> </p>
<p> <span><strong>警告:</strong>此类的序列化对象与将来的Swing版本不兼容。</span> <span>当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。</span> <span>从1.4开始对所有JavaBeans的长期存储的支持已经添加到<code>java.beans</code>包中。</span> <span>请参阅<a href="../../../java/beans/XMLEncoder.html" title="java.beans中的类"><code>XMLEncoder</code></a></span> </p>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- --> </a> <h3>Nested Class Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption>
<span>Nested Classes</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.AbstractElement.html" title="class in javax.swing.text">AbstractDocument.AbstractElement</a></span></code>
<div class="block">
实现元素的抽象部分。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.AttributeContext.html" title="interface in javax.swing.text">AbstractDocument.AttributeContext</a></span></code>
<div class="block">
一个可用于允许MutableAttributeSet实现使用可插拔属性压缩技术的接口。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.BranchElement.html" title="class in javax.swing.text">AbstractDocument.BranchElement</a></span></code>
<div class="block">
实现一个包含其他元素的复合元素。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a></span></code>
<div class="block">
用于描述可编辑的字符内容序列的界面。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a></span></code>
<div class="block">
正在修改文档时存储文档更改。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.ElementEdit.html" title="class in javax.swing.text">AbstractDocument.ElementEdit</a></span></code>
<div class="block">
可以添加到文档事件中的ElementChange的实现。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.LeafElement.html" title="class in javax.swing.text">AbstractDocument.LeafElement</a></span></code>
<div class="block">
实现直接表示某种内容的元素。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#BAD_LOCATION">BAD_LOCATION</a></span></code>
<div class="block">
错误信息表示错误的位置。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#BidiElementName">BidiElementName</a></span></code>
<div class="block">
用于保持单向运行的元素的名称
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#ContentElementName">ContentElementName</a></span></code>
<div class="block">
用于表示内容的元素的名称
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#ElementNameAttribute">ElementNameAttribute</a></span></code>
<div class="block">
用于指定元素名称的属性的名称。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../javax/swing/event/EventListenerList.html" title="class in javax.swing.event">EventListenerList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#listenerList">listenerList</a></span></code>
<div class="block">
文档的事件监听器列表。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#ParagraphElementName">ParagraphElementName</a></span></code>
<div class="block">
用于表示段落的元素的名称
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#SectionElementName">SectionElementName</a></span></code>
<div class="block">
用于保存部分的元素名称(行/段落)。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.swing.text.Document">
<!-- --> </a> <h3>Fields inherited from interface javax.swing.text.<a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></h3> <code><a href="../../../javax/swing/text/Document.html#StreamDescriptionProperty">StreamDescriptionProperty</a>, <a href="../../../javax/swing/text/Document.html#TitleProperty">TitleProperty</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#AbstractDocument-javax.swing.text.AbstractDocument.Content-">AbstractDocument</a></span>(<a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a> data)</code>
<div class="block">
构造一个新的
<code>AbstractDocument</code> ,围绕一些指定的内容存储机制。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#AbstractDocument-javax.swing.text.AbstractDocument.Content-javax.swing.text.AbstractDocument.AttributeContext-">AbstractDocument</a></span>(<a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a> data, <a href="../../../javax/swing/text/AbstractDocument.AttributeContext.html" title="interface in javax.swing.text">AbstractDocument.AttributeContext</a> context)</code>
<div class="block">
构造一个新的
<code>AbstractDocument</code> ,包裹一些指定的内容存储机制。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#addDocumentListener-javax.swing.event.DocumentListener-">addDocumentListener</a></span>(<a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a> listener)</code>
<div class="block">
添加文档侦听器以通知任何更改。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#addUndoableEditListener-javax.swing.event.UndoableEditListener-">addUndoableEditListener</a></span>(<a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a> listener)</code>
<div class="block">
添加撤消侦听器以通知任何更改。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#createBranchElement-javax.swing.text.Element-javax.swing.text.AttributeSet-">createBranchElement</a></span>(<a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> parent, <a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a)</code>
<div class="block">
创建一个可以包含其他元素的文档分支元素。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>protected <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#createLeafElement-javax.swing.text.Element-javax.swing.text.AttributeSet-int-int-">createLeafElement</a></span>(<a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> parent, <a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a, int p0, int p1)</code>
<div class="block">
创建文档叶元素。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#createPosition-int-">createPosition</a></span>(int offs)</code>
<div class="block">
返回在文档更改时跟踪更改的位置。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#dump-java.io.PrintStream-">dump</a></span>(<a href="../../../java/io/PrintStream.html" title="class in java.io">PrintStream</a> out)</code>
<div class="block">
提供诊断转储。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#fireChangedUpdate-javax.swing.event.DocumentEvent-">fireChangedUpdate</a></span>(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</code>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#fireInsertUpdate-javax.swing.event.DocumentEvent-">fireInsertUpdate</a></span>(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</code>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#fireRemoveUpdate-javax.swing.event.DocumentEvent-">fireRemoveUpdate</a></span>(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</code>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#fireUndoableEditUpdate-javax.swing.event.UndoableEditEvent-">fireUndoableEditUpdate</a></span>(<a href="../../../javax/swing/event/UndoableEditEvent.html" title="class in javax.swing.event">UndoableEditEvent</a> e)</code>
<div class="block">
通知所有在此事件类型上通知有兴趣的听众。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getAsynchronousLoadPriority--">getAsynchronousLoadPriority</a></span>()</code>
<div class="block">
获取异步加载优先级。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>protected <a href="../../../javax/swing/text/AbstractDocument.AttributeContext.html" title="interface in javax.swing.text">AbstractDocument.AttributeContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getAttributeContext--">getAttributeContext</a></span>()</code>
<div class="block">
获取管理属性的上下文。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getBidiRootElement--">getBidiRootElement</a></span>()</code>
<div class="block">
返回此文档的双向结构的根元素。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>protected <a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getContent--">getContent</a></span>()</code>
<div class="block">
获取文档的内容。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>protected <a href="../../../java/lang/Thread.html" title="class in java.lang">Thread</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getCurrentWriter--">getCurrentWriter</a></span>()</code>
<div class="block">
获取当前的书写线程,如果有的话。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>abstract <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getDefaultRootElement--">getDefaultRootElement</a></span>()</code>
<div class="block">
返回视图应该基于的根元素,除非提供了用于将视图分配给元素结构的其他机制。
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code><a href="../../../javax/swing/text/DocumentFilter.html" title="class in javax.swing.text">DocumentFilter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getDocumentFilter--">getDocumentFilter</a></span>()</code>
<div class="block">
返回
<code>DocumentFilter</code>插入/删除过滤的DocumentFilter。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code><a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getDocumentListeners--">getDocumentListeners</a></span>()</code>
<div class="block">
返回在此文档上注册的所有文档监听器的数组。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="../../../java/util/Dictionary.html" title="class in java.util">Dictionary</a>&lt;<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getDocumentProperties--">getDocumentProperties</a></span>()</code>
<div class="block">
支持管理一组属性。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code><a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getEndPosition--">getEndPosition</a></span>()</code>
<div class="block">
返回表示文档结尾的位置。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getLength--">getLength</a></span>()</code>
<div class="block">
返回数据的长度。
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>&lt;T extends <a href="../../../java/util/EventListener.html" title="interface in java.util">EventListener</a>&gt;<br/>T[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getListeners-java.lang.Class-">getListeners</a></span>(<a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; listenerType)</code>
<div class="block">
返回
<code><em>Foo</em>Listener</code>在此文档中注册为
<code><em>Foo</em>Listener</code>的所有对象的数组。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>abstract <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getParagraphElement-int-">getParagraphElement</a></span>(int pos)</code>
<div class="block">
获取包含给定位置的段落元素。
</div> </td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getProperty-java.lang.Object-">getProperty</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> key)</code>
<div class="block">
查找属性值的方便方法。
</div> </td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code><a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getRootElements--">getRootElements</a></span>()</code>
<div class="block">
获取定义的所有根元素。
</div> </td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code><a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getStartPosition--">getStartPosition</a></span>()</code>
<div class="block">
返回表示文档开头的位置。
</div> </td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getText-int-int-">getText</a></span>(int offset, int length)</code>
<div class="block">
从文档中获取文本序列。
</div> </td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getText-int-int-javax.swing.text.Segment-">getText</a></span>(int offset, int length, <a href="../../../javax/swing/text/Segment.html" title="class in javax.swing.text">Segment</a> txt)</code>
<div class="block">
获取文档给定部分中包含的文本。
</div> </td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code><a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#getUndoableEditListeners--">getUndoableEditListeners</a></span>()</code>
<div class="block">
返回在此文档中注册的所有可撤销编辑监听器的数组。
</div> </td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#insertString-int-java.lang.String-javax.swing.text.AttributeSet-">insertString</a></span>(int offs, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> str, <a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a)</code>
<div class="block">
在文档中插入一些内容。
</div> </td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#insertUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-javax.swing.text.AttributeSet-">insertUpdate</a></span>(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng, <a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> attr)</code>
<div class="block">
更新由于文本插入而导致的文档结构。
</div> </td>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#postRemoveUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-">postRemoveUpdate</a></span>(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng)</code>
<div class="block">
由于删除文字而更新任何文档结构。
</div> </td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#putProperty-java.lang.Object-java.lang.Object-">putProperty</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> key, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)</code>
<div class="block">
用于存储属性值的便利方法。
</div> </td>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#readLock--">readLock</a></span>()</code>
<div class="block">
获取一个锁,从文档开始读取一些状态。
</div> </td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#readUnlock--">readUnlock</a></span>()</code>
<div class="block">
读取解锁
</div> </td>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#remove-int-int-">remove</a></span>(int offs, int len)</code>
<div class="block">
从文档中删除一些内容。
</div> </td>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#removeDocumentListener-javax.swing.event.DocumentListener-">removeDocumentListener</a></span>(<a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a> listener)</code>
<div class="block">
删除文档监听器。
</div> </td>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#removeUndoableEditListener-javax.swing.event.UndoableEditListener-">removeUndoableEditListener</a></span>(<a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a> listener)</code>
<div class="block">
删除撤消侦听器。
</div> </td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#removeUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-">removeUpdate</a></span>(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng)</code>
<div class="block">
由于删除文字而更新任何文档结构。
</div> </td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#render-java.lang.Runnable-">render</a></span>(<a href="../../../java/lang/Runnable.html" title="interface in java.lang">Runnable</a> r)</code>
<div class="block">
如果模型支持异步更新,则可以在存在货币的情况下安全地呈现模型。
</div> </td>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#replace-int-int-java.lang.String-javax.swing.text.AttributeSet-">replace</a></span>(int offset, int length, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> text, <a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> attrs)</code>
<div class="block">
将文本区域从
<code>offset</code>删除为
<code>offset + length</code> ,并将其替换为
<code>text</code>
</div> </td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#setAsynchronousLoadPriority-int-">setAsynchronousLoadPriority</a></span>(int p)</code>
<div class="block">
设置异步加载优先级。
</div> </td>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#setDocumentFilter-javax.swing.text.DocumentFilter-">setDocumentFilter</a></span>(<a href="../../../javax/swing/text/DocumentFilter.html" title="class in javax.swing.text">DocumentFilter</a> filter)</code>
<div class="block">
设置
<code>DocumentFilter</code>
</div> </td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#setDocumentProperties-java.util.Dictionary-">setDocumentProperties</a></span>(<a href="../../../java/util/Dictionary.html" title="class in java.util">Dictionary</a>&lt;<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; x)</code>
<div class="block">
替换此文档的文档属性字典。
</div> </td>
</tr>
<tr class="altColor" id="i44">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#writeLock--">writeLock</a></span>()</code>
<div class="block">
获取一个锁,开始变更此锁保护的文档。
</div> </td>
</tr>
<tr class="rowColor" id="i45">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/AbstractDocument.html#writeUnlock--">writeUnlock</a></span>()</code>
<div class="block">
释放先前通过
<code>writeLock</code>获得的写锁定。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="listenerList">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>listenerList</h4> <pre>protected <a href="../../../javax/swing/event/EventListenerList.html" title="class in javax.swing.event">EventListenerList</a> listenerList</pre>
<div class="block">
文档的事件监听器列表。
</div> </li>
</ul> <a name="BAD_LOCATION">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>BAD_LOCATION</h4> <pre>protected static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> BAD_LOCATION</pre>
<div class="block">
错误信息表示错误的位置。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.BAD_LOCATION">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="ParagraphElementName">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ParagraphElementName</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> ParagraphElementName</pre>
<div class="block">
用于表示段落的元素的名称
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.ParagraphElementName">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="ContentElementName">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ContentElementName</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> ContentElementName</pre>
<div class="block">
用于表示内容的元素的名称
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.ContentElementName">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="SectionElementName">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>SectionElementName</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> SectionElementName</pre>
<div class="block">
用于保存部分的元素名称(行/段落)。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.SectionElementName">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="BidiElementName">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>BidiElementName</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> BidiElementName</pre>
<div class="block">
用于保持单向运行的元素的名称
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.BidiElementName">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="ElementNameAttribute">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ElementNameAttribute</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> ElementNameAttribute</pre>
<div class="block">
用于指定元素名称的属性的名称。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.swing.text.AbstractDocument.ElementNameAttribute">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="AbstractDocument-javax.swing.text.AbstractDocument.Content-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>AbstractDocument</h4> <pre>protected AbstractDocument(<a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a> data)</pre>
<div class="block">
构造一个新的
<code>AbstractDocument</code> ,围绕一些指定的内容存储机制。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>data</code> - 内容
</dd>
</dl> </li>
</ul> <a name="AbstractDocument-javax.swing.text.AbstractDocument.Content-javax.swing.text.AbstractDocument.AttributeContext-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AbstractDocument</h4> <pre>protected AbstractDocument(<a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a> data,
<a href="../../../javax/swing/text/AbstractDocument.AttributeContext.html" title="interface in javax.swing.text">AbstractDocument.AttributeContext</a> context)</pre>
<div class="block">
构造一个新的
<code>AbstractDocument</code> ,包裹一些指定的内容存储机制。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>data</code> - 内容
</dd>
<dd>
<code>context</code> - 属性上下文
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getDocumentProperties--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDocumentProperties</h4> <pre>public <a href="../../../java/util/Dictionary.html" title="class in java.util">Dictionary</a>&lt;<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; getDocumentProperties()</pre>
<div class="block">
<span>支持管理一组属性。</span>
<span>来电者可以使用<code>documentProperties</code>字典对文档范围的属性进行注释。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个非
<code>null</code>
<code>Dictionary</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#setDocumentProperties-java.util.Dictionary-"><code>setDocumentProperties(java.util.Dictionary&lt;java.lang.Object, java.lang.Object&gt;)</code></a>
</dd>
</dl> </li>
</ul> <a name="setDocumentProperties-java.util.Dictionary-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDocumentProperties</h4> <pre>public void setDocumentProperties(<a href="../../../java/util/Dictionary.html" title="class in java.util">Dictionary</a>&lt;<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; x)</pre>
<div class="block">
替换此文档的文档属性字典。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>x</code> - 新词典
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#getDocumentProperties--"><code>getDocumentProperties()</code></a>
</dd>
</dl> </li>
</ul> <a name="fireInsertUpdate-javax.swing.event.DocumentEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>fireInsertUpdate</h4> <pre>protected void fireInsertUpdate(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</pre>
<div class="block">
<span>通知所有在此事件类型上通知有兴趣的听众。</span>
<span>事件实例使用传递给fire方法的参数进行懒惰创建。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 事件
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/swing/event/EventListenerList.html" title="javax.swing.event中的类"><code>EventListenerList</code></a></span>
</dd>
</dl> </li>
</ul> <a name="fireChangedUpdate-javax.swing.event.DocumentEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>fireChangedUpdate</h4> <pre>protected void fireChangedUpdate(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</pre>
<div class="block">
<span>通知所有在此事件类型上通知有兴趣的听众。</span>
<span>事件实例使用传递给fire方法的参数进行懒惰创建。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 事件
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/swing/event/EventListenerList.html" title="javax.swing.event中的类"><code>EventListenerList</code></a></span>
</dd>
</dl> </li>
</ul> <a name="fireRemoveUpdate-javax.swing.event.DocumentEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>fireRemoveUpdate</h4> <pre>protected void fireRemoveUpdate(<a href="../../../javax/swing/event/DocumentEvent.html" title="interface in javax.swing.event">DocumentEvent</a> e)</pre>
<div class="block">
<span>通知所有在此事件类型上通知有兴趣的听众。</span>
<span>事件实例使用传递给fire方法的参数进行懒惰创建。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 事件
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/swing/event/EventListenerList.html" title="javax.swing.event中的类"><code>EventListenerList</code></a></span>
</dd>
</dl> </li>
</ul> <a name="fireUndoableEditUpdate-javax.swing.event.UndoableEditEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>fireUndoableEditUpdate</h4> <pre>protected void fireUndoableEditUpdate(<a href="../../../javax/swing/event/UndoableEditEvent.html" title="class in javax.swing.event">UndoableEditEvent</a> e)</pre>
<div class="block">
<span>通知所有在此事件类型上通知有兴趣的听众。</span>
<span>事件实例使用传递给fire方法的参数进行懒惰创建。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>e</code> - 事件
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/swing/event/EventListenerList.html" title="javax.swing.event中的类"><code>EventListenerList</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getListeners-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getListeners</h4> <pre>public &lt;T extends <a href="../../../java/util/EventListener.html" title="interface in java.util">EventListener</a>&gt; T[] getListeners(<a href="../../../java/lang/Class.html" title="class in java.lang"></a>&lt;T&gt; listenerType)</pre>
<div class="block">
<span>返回此文档上当前注册为<code><em>Foo</em>Listener</code>的所有对象的数组。</span>
<span><code><em>Foo</em>Listener</code>使用<code>add<em>Foo</em>Listener</code></span>
<p> <span>您可以使用类文字指定<code>listenerType</code>参数,例如<code><em>Foo</em>Listener.class</code></span> <span>例如,您可以使用以下代码查询文档<code>d</code>的文档侦听器:</span> </p>
<pre> <span>DocumentListener[] mls = (DocumentListener[])(d.getListeners(DocumentListener.class));</span> </pre>
<span>如果没有这样的侦听器存在,这个方法返回一个空数组。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>listenerType</code> - 所请求的听众的类型;</span>
<span>此参数应指定从<code>java.util.EventListener</code>下降的<code>java.util.EventListener</code></span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
在此组件上注册为
<code><em>Foo</em>Listener</code>的所有对象的数组,如果未添加此类侦听器,则为空数组
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果
<code>listenerType</code>没有指定实现java.util.EventListener的类或
<code>java.util.EventListener</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#getDocumentListeners--"><code>getDocumentListeners()</code></a>
<a href="../../../javax/swing/text/AbstractDocument.html#getUndoableEditListeners--"><code>getUndoableEditListeners()</code></a>
</dd>
</dl> </li>
</ul> <a name="getAsynchronousLoadPriority--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAsynchronousLoadPriority</h4> <pre>public int getAsynchronousLoadPriority()</pre>
<div class="block">
<span>获取异步加载优先级。</span>
<span>如果小于零,则不应异步加载文档。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
异步加载优先级,或
<code>-1</code>如果文档不应该异步加载
</dd>
</dl> </li>
</ul> <a name="setAsynchronousLoadPriority-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAsynchronousLoadPriority</h4> <pre>public void setAsynchronousLoadPriority(int p)</pre>
<div class="block">
设置异步加载优先级。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>p</code> - 新的异步加载优先级;</span>
<span>小于零的值表示不应该异步加载文档</span>
</dd>
</dl> </li>
</ul> <a name="setDocumentFilter-javax.swing.text.DocumentFilter-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDocumentFilter</h4> <pre>public void setDocumentFilter(<a href="../../../javax/swing/text/DocumentFilter.html" title="class in javax.swing.text">DocumentFilter</a> filter)</pre>
<div class="block">
<span>设置<code>DocumentFilter</code></span>
<span><code>DocumentFilter</code>通过了<code>insert</code><code>remove</code>以有条件地允许插入/删除文本。</span>
<span><code>null</code>值表示不会发生过滤。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>filter</code> -在
<code>DocumentFilter</code>用来约束文本
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#getDocumentFilter--"><code>getDocumentFilter()</code></a>
</dd>
</dl> </li>
</ul> <a name="getDocumentFilter--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDocumentFilter</h4> <pre>public <a href="../../../javax/swing/text/DocumentFilter.html" title="class in javax.swing.text">DocumentFilter</a> getDocumentFilter()</pre>
<div class="block">
<span>返回<code>DocumentFilter</code>插入/删除过滤的DocumentFilter。</span>
<span>A <code>null</code>返回值意味着不会发生过滤。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
DocumentFilter
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#setDocumentFilter-javax.swing.text.DocumentFilter-"><code>setDocumentFilter(javax.swing.text.DocumentFilter)</code></a>
</dd>
</dl> </li>
</ul> <a name="render-java.lang.Runnable-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>render</h4> <pre>public void render(<a href="../../../java/lang/Runnable.html" title="interface in java.lang">Runnable</a> r)</pre>
<div class="block">
<span>如果模型支持异步更新,则可以在存在货币的情况下安全地呈现模型。</span>
<span>给定的可运行程序将以允许其在执行runnable时不改变的情况下安全地读取模型的方式执行。</span>
<span>runnable本身可能<em>不会发生</em>任何突变。</span>
<p> <span>这是为了在runnable执行期间获取读锁。</span> <span>同时执行多个可执行文件,并且所有写入程序都将被阻止,同时存在活动的渲染运行时间。</span> <span>如果runnable抛出异常它的锁将被安全地释放。</span> <span>没有一个永远不会退出的可运行的保护,这将有效地使文档被锁定为一生。</span> </p>
<p> <span>如果给定的runnable尝试在此实现中发生任何突变则会发生死锁。</span> <span>没有跟踪单个渲染线程来检测这种情况,但是一个子类可能会产生跟踪它们并引发错误的开销。</span> </p>
<p> <span>这种方法是线程安全的尽管大多数Swing方法都不是。</span> <span>请参阅<a href="http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>了解更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#render-java.lang.Runnable-">render</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>r</code> - 执行渲染器
</dd>
</dl> </li>
</ul> <a name="getLength--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getLength</h4> <pre>public int getLength()</pre>
<div class="block">
<span>返回数据的长度。</span>
<span>这是表示用户数据的内容的字符数。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getLength--">getLength</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
长度&gt; = 0
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#getLength--"><code>Document.getLength()</code></a>
</dd>
</dl> </li>
</ul> <a name="addDocumentListener-javax.swing.event.DocumentListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addDocumentListener</h4> <pre>public void addDocumentListener(<a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a> listener)</pre>
<div class="block">
添加文档侦听器以通知任何更改。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#addDocumentListener-javax.swing.event.DocumentListener-">addDocumentListener</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> -
<code>DocumentListener</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#addDocumentListener-javax.swing.event.DocumentListener-"><code>Document.addDocumentListener(javax.swing.event.DocumentListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeDocumentListener-javax.swing.event.DocumentListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeDocumentListener</h4> <pre>public void removeDocumentListener(<a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a> listener)</pre>
<div class="block">
删除文档监听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#removeDocumentListener-javax.swing.event.DocumentListener-">removeDocumentListener</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 要删除的
<code>DocumentListener</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#removeDocumentListener-javax.swing.event.DocumentListener-"><code>Document.removeDocumentListener(javax.swing.event.DocumentListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="getDocumentListeners--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDocumentListeners</h4> <pre>public <a href="../../../javax/swing/event/DocumentListener.html" title="interface in javax.swing.event">DocumentListener</a>[] getDocumentListeners()</pre>
<div class="block">
返回在此文档上注册的所有文档监听器的数组。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所有这些文件的
<code>DocumentListener</code> s或一个空数组如果没有文件监听器当前注册
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#addDocumentListener-javax.swing.event.DocumentListener-"><code>addDocumentListener(javax.swing.event.DocumentListener)</code></a>
<a href="../../../javax/swing/text/AbstractDocument.html#removeDocumentListener-javax.swing.event.DocumentListener-"><code>removeDocumentListener(javax.swing.event.DocumentListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="addUndoableEditListener-javax.swing.event.UndoableEditListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addUndoableEditListener</h4> <pre>public void addUndoableEditListener(<a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a> listener)</pre>
<div class="block">
<span>添加撤消侦听器以通知任何更改。</span>
<span>撤消在执行/恢复操作<code>UndoableEdit</code>将使适当的DocumentEvent被解雇保持期同步与模型。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#addUndoableEditListener-javax.swing.event.UndoableEditListener-">addUndoableEditListener</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 要添加的
<code>UndoableEditListener</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#addUndoableEditListener-javax.swing.event.UndoableEditListener-"><code>Document.addUndoableEditListener(javax.swing.event.UndoableEditListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeUndoableEditListener-javax.swing.event.UndoableEditListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeUndoableEditListener</h4> <pre>public void removeUndoableEditListener(<a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a> listener)</pre>
<div class="block">
删除撤消侦听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#removeUndoableEditListener-javax.swing.event.UndoableEditListener-">removeUndoableEditListener</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 要删除的
<code>UndoableEditListener</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#removeDocumentListener-javax.swing.event.DocumentListener-"><code>Document.removeDocumentListener(javax.swing.event.DocumentListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="getUndoableEditListeners--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getUndoableEditListeners</h4> <pre>public <a href="../../../javax/swing/event/UndoableEditListener.html" title="interface in javax.swing.event">UndoableEditListener</a>[] getUndoableEditListeners()</pre>
<div class="block">
返回在此文档中注册的所有可撤销编辑监听器的数组。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所有这些文件的
<code>UndoableEditListener</code> s或一个空数组如果没有可撤销的编辑监听器当前注册
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#addUndoableEditListener-javax.swing.event.UndoableEditListener-"><code>addUndoableEditListener(javax.swing.event.UndoableEditListener)</code></a>
<a href="../../../javax/swing/text/AbstractDocument.html#removeUndoableEditListener-javax.swing.event.UndoableEditListener-"><code>removeUndoableEditListener(javax.swing.event.UndoableEditListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="getProperty-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProperty</h4> <pre>public final <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getProperty(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> key)</pre>
<div class="block">
<span>查找属性值的方便方法。</span>
<span>相当于:</span>
<pre> <span>getDocumentProperties().get(key);</span> </pre>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getProperty-java.lang.Object-">getProperty</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 非
<code>null</code>属性键
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该属性的值或
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#getDocumentProperties--"><code>getDocumentProperties()</code></a>
</dd>
</dl> </li>
</ul> <a name="putProperty-java.lang.Object-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>putProperty</h4> <pre>public final void putProperty(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> key,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)</pre>
<div class="block">
<span>用于存储属性值的便利方法。</span>
<span>相当于:</span>
<pre> <span>getDocumentProperties().put(key, value);</span> </pre>
<span>如果<code>value</code><code>null</code>这个方法将删除该属性。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#putProperty-java.lang.Object-java.lang.Object-">putProperty</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 非
<code>null</code>
</dd>
<dd>
<code>value</code> - 物业价值
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#getDocumentProperties--"><code>getDocumentProperties()</code></a>
</dd>
</dl> </li>
</ul> <a name="remove-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>remove</h4> <pre>public void remove(int offs,
int len)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
<span>从文档中删除一些内容。</span>
<span>删除内容会导致在实际发生变化时保持写入锁定。</span>
<span>观察员被通知调用此方法的线程上的更改。</span>
<p> <span>这种方法是线程安全的尽管大多数Swing方法都不是。</span> <span>请参阅<a href="http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>了解更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#remove-int-int-">remove</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offs</code> - 起始偏移量&gt; = 0
</dd>
<dd>
<code>len</code> - 要删除的字符数&gt; = 0
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定的删除位置不是文档中的有效位置
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#remove-int-int-"><code>Document.remove(int, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="replace-int-int-java.lang.String-javax.swing.text.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>replace</h4> <pre>public void replace(int offset,
int length,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> text,
<a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> attrs)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
<span>将文本区域从<code>offset</code>删除为<code>offset + length</code> ,并将其替换为<code>text</code></span>
<span>实现如何实现,一些实现可以将其视为两个不同的操作:一个删除后跟一个插入,另一些可以将替换视为一个原子操作。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offset</code> - 子元素的索引
</dd>
<dd>
<code>length</code> - 要删除的文本长度可能为0表示不删除任何内容
</dd>
<dd>
<code>text</code> - 要插入的文本,
<code>null</code>表示没有要插入的文本
</dd>
<dd>
<code>attrs</code> - 指示插入文本的属性的AttributeSet
<code>null</code>是合法的,通常被视为一个空的属性集,但精确的解释留给子类
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定的位置不是文档中的有效位置
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </li>
</ul> <a name="insertString-int-java.lang.String-javax.swing.text.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>insertString</h4> <pre>public void insertString(int offs,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> str,
<a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
<span>在文档中插入一些内容。</span>
<span>插入内容会导致在实际更改发生时保留写入锁定,然后通知抓取写入锁定的线程上的观察者。</span>
<p> <span>这种方法是线程安全的尽管大多数Swing方法都不是。</span> <span>请参阅<a href="http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>了解更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#insertString-int-java.lang.String-javax.swing.text.AttributeSet-">insertString</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offs</code> - 起始偏移量&gt; = 0
</dd>
<dd>
<span><code>str</code> - 要插入的字符串;</span>
<span>对空/空字符串不做任何事情</span>
</dd>
<dd>
<code>a</code> - 插入内容的属性
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定的插入位置不是文档中的有效位置
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#insertString-int-java.lang.String-javax.swing.text.AttributeSet-"><code>Document.insertString(int, java.lang.String, javax.swing.text.AttributeSet)</code></a>
</dd>
</dl> </li>
</ul> <a name="getText-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getText</h4> <pre>public <a href="../../../java/lang/String.html" title="class in java.lang">String</a> getText(int offset,
int length)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
从文档中获取文本序列。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getText-int-int-">getText</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offset</code> - 起始偏移量&gt; = 0
</dd>
<dd>
<code>length</code> - 要检索的字符数&gt; = 0
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
文本
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定的范围包括文档中不是有效位置的位置
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#getText-int-int-"><code>Document.getText(int, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getText-int-int-javax.swing.text.Segment-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getText</h4> <pre>public void getText(int offset,
int length,
<a href="../../../javax/swing/text/Segment.html" title="class in javax.swing.text">Segment</a> txt)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
<span>获取文档给定部分中包含的文本。</span>
<p> <span>如果txt参数的partialReturn属性为false则在段中返回的数据将是所请求的整个长度并且根据数据的存储方式可以复制或不复制。</span> <span>如果partialReturn属性为true则只返回无需创建副本的文本数量。</span> <span>使用部分返回将会在扫描文档的大部分的情况下提供更好的性能。</span> <span>以下是使用部分返回访问整个文档的示例:</span> </p>
<pre> <span>  int nleft = doc.getDocumentLength();
  Segment text = new Segment();
  int offs = 0;
  text.setPartialReturn(true);
  while (nleft &gt; 0) {
  doc.getText(offs, nleft, text);
  // do something with text
  nleft -= text.count;
  offs += text.count;
  }</span> </pre>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getText-int-int-javax.swing.text.Segment-">getText</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offset</code> - 起始偏移量&gt; = 0
</dd>
<dd>
<code>length</code> - 要检索的字符数&gt; = 0
</dd>
<dd>
<code>txt</code> - 将文本检索到的Segment对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定的范围包括文档中不是有效位置的位置
</dd>
</dl> </li>
</ul> <a name="createPosition-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createPosition</h4> <pre>public <a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a> createPosition(int offs)
throws <a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></pre>
<div class="block">
<span>返回在文档更改时跟踪更改的位置。</span>
<p> <span>这种方法是线程安全的尽管大多数Swing方法都不是。</span> <span>请参阅<a href="http://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>了解更多信息。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#createPosition-int-">createPosition</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>offs</code> - 模型中的位置&gt; = 0
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
的位置
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 如果给定的位置不表示相关文档中的有效位置
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#createPosition-int-"><code>Document.createPosition(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getStartPosition--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getStartPosition</h4> <pre>public final <a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a> getStartPosition()</pre>
<div class="block">
<span>返回表示文档开头的位置。</span>
<span>返回的位置可以计入跟踪更改并保持位于文档的开头。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getStartPosition--">getStartPosition</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
的位置
</dd>
</dl> </li>
</ul> <a name="getEndPosition--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEndPosition</h4> <pre>public final <a href="../../../javax/swing/text/Position.html" title="interface in javax.swing.text">Position</a> getEndPosition()</pre>
<div class="block">
<span>返回表示文档结尾的位置。</span>
<span>返回的位置可以计入跟踪更改并保留在文档的末尾。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getEndPosition--">getEndPosition</a></code>在接口
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
的位置
</dd>
</dl> </li>
</ul> <a name="getRootElements--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getRootElements</h4> <pre>public <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a>[] getRootElements()</pre>
<div class="block">
<span>获取定义的所有根元素。</span>
<span>通常,只有一个,默认的实现是返回默认的根元素。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getRootElements--">getRootElements</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
根元素
</dd>
</dl> </li>
</ul> <a name="getDefaultRootElement--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefaultRootElement</h4> <pre>public abstract <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> getDefaultRootElement()</pre>
<div class="block">
返回视图应该基于的根元素,除非提供了用于将视图分配给元素结构的其他机制。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/swing/text/Document.html#getDefaultRootElement--">getDefaultRootElement</a></code>在界面
<code><a href="../../../javax/swing/text/Document.html" title="interface in javax.swing.text">Document</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
根元素
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/Document.html#getDefaultRootElement--"><code>Document.getDefaultRootElement()</code></a>
</dd>
</dl> </li>
</ul> <a name="getBidiRootElement--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getBidiRootElement</h4> <pre>public <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> getBidiRootElement()</pre>
<div class="block">
<span>返回此文档的双向结构的根元素。</span>
<span>它的孩子代表具有给定的Unicode bidi级别的字符运行。</span>
</div> </li>
</ul> <a name="getParagraphElement-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getParagraphElement</h4> <pre>public abstract <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> getParagraphElement(int pos)</pre>
<div class="block">
<span>获取包含给定位置的段落元素。</span>
<span>子类必须自己定义什么是一个段落。</span>
<span>他们应该记住段落至少应该是运行Unicode双向算法的文本单位。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>pos</code> - 起始偏移量&gt; = 0
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
元素
</dd>
</dl> </li>
</ul> <a name="getAttributeContext--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAttributeContext</h4> <pre>protected final <a href="../../../javax/swing/text/AbstractDocument.AttributeContext.html" title="interface in javax.swing.text">AbstractDocument.AttributeContext</a> getAttributeContext()</pre>
<div class="block">
<span>获取管理属性的上下文。</span>
<span>该方法有效地建立了用于压缩AttributeSet信息的策略。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
上下文
</dd>
</dl> </li>
</ul> <a name="insertUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-javax.swing.text.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>insertUpdate</h4> <pre>protected void insertUpdate(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng,
<a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> attr)</pre>
<div class="block">
<span>更新由于文本插入而导致的文档结构。</span>
<span>这将在写锁中发生。</span>
<span>如果此类的子类重新实现此方法,那么它也应该委托给超类。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>chng</code> - 变更的说明
</dd>
<dd>
<code>attr</code> - 更改的属性
</dd>
</dl> </li>
</ul> <a name="removeUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeUpdate</h4> <pre>protected void removeUpdate(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng)</pre>
<div class="block">
<span>由于删除文字而更新任何文档结构。</span>
<span>在从内容中实际删除文本之前调用此方法。</span>
<span>这将在写锁中发生。</span>
<span>如果此类的子类重新实现此方法,那么它也应该委托给超类。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>chng</code> - 变更的描述
</dd>
</dl> </li>
</ul> <a name="postRemoveUpdate-javax.swing.text.AbstractDocument.DefaultDocumentEvent-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>postRemoveUpdate</h4> <pre>protected void postRemoveUpdate(<a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="class in javax.swing.text">AbstractDocument.DefaultDocumentEvent</a> chng)</pre>
<div class="block">
<span>由于删除文字而更新任何文档结构。</span>
<span>在从内容中删除文本后调用此方法。</span>
<span>这将在写锁中发生。</span>
<span>如果此类的子类重新实现此方法,那么它也应该委托给超类。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>chng</code> - 变更的说明
</dd>
</dl> </li>
</ul> <a name="dump-java.io.PrintStream-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>dump</h4> <pre>public void dump(<a href="../../../java/io/PrintStream.html" title="class in java.io">PrintStream</a> out)</pre>
<div class="block">
提供诊断转储。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>out</code> - 输出流
</dd>
</dl> </li>
</ul> <a name="getContent--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getContent</h4> <pre>protected final <a href="../../../javax/swing/text/AbstractDocument.Content.html" title="interface in javax.swing.text">AbstractDocument.Content</a> getContent()</pre>
<div class="block">
获取文档的内容。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
内容
</dd>
</dl> </li>
</ul> <a name="createLeafElement-javax.swing.text.Element-javax.swing.text.AttributeSet-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createLeafElement</h4> <pre>protected <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> createLeafElement(<a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> parent,
<a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a,
int p0,
int p1)</pre>
<div class="block">
<span>创建文档叶元素。</span>
<span>挂钩通过哪些元素创建来表示文档结构。</span>
<span>因为这个实现保持结构和内容的分离,当内容被扩展时,元素就会自动增长,因此现有元素的分割跟随。</span>
<span>文档本身可以决定如何生成元素以使所使用元素的类型具有灵活性。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 父元素
</dd>
<dd>
<code>a</code> - 元素的属性
</dd>
<dd>
<code>p0</code> - 范围的开始&gt; = 0
</dd>
<dd>
<code>p1</code> - 范围的结束&gt; = p0
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新元素
</dd>
</dl> </li>
</ul> <a name="createBranchElement-javax.swing.text.Element-javax.swing.text.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createBranchElement</h4> <pre>protected <a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> createBranchElement(<a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a> parent,
<a href="../../../javax/swing/text/AttributeSet.html" title="interface in javax.swing.text">AttributeSet</a> a)</pre>
<div class="block">
创建一个可以包含其他元素的文档分支元素。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 父元素
</dd>
<dd>
<code>a</code> - 属性
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
元素
</dd>
</dl> </li>
</ul> <a name="getCurrentWriter--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getCurrentWriter</h4> <pre>protected final <a href="../../../java/lang/Thread.html" title="class in java.lang">Thread</a> getCurrentWriter()</pre>
<div class="block">
<span>获取当前的书写线程,如果有的话。</span>
<span>这可以用于区分是否将方法作为现有修改的一部分进行调用,或者是否需要获取锁定并启动新的事务。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
线程主动修改文档或
<code>null</code>如果没有进行修改
</dd>
</dl> </li>
</ul> <a name="writeLock--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>writeLock</h4> <pre>protected final void writeLock()</pre>
<div class="block">
<span>获取一个锁,开始变更此锁保护的文档。</span>
<span>为了获得锁定,可能没有写作,更改通知或阅读。</span>
<span>此外,一个线程允许获得多于一个<code>writeLock</code> ,只要它不会从文档通知中获得额外的<code>writeLock</code> s。</span>
<span>试图获得一个<code>writeLock</code>从通知的DocumentListener内将导致<code>IllegalStateException</code></span>
<span>每个线程获得多个<code>writeLock</code>的能力允许子类获取一个writeLock执行一些操作然后释放该锁。</span>
<p> <span>呼叫<code>writeLock</code>必须通过调用来平衡<code>writeUnlock</code> ,否则<code>Document</code>将处于锁定状态留下所以没有读或写可以做到的。</span> </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 抛出非法锁定尝试。</span>
<span>如果文档被正确实现,这只能在文档侦听器尝试变更文档时发生。</span>
<span>这种情况违反了bean事件模型其中不能保证交付顺序并且在允许进一步突变之前应通知所有收听者。</span>
</dd>
</dl> </li>
</ul> <a name="writeUnlock--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>writeUnlock</h4> <pre>protected final void writeUnlock()</pre>
<div class="block">
<span>释放先前通过<code>writeLock</code>获得的写锁定。</span>
<span>如果没有未完成的锁定,则递减锁定计数,这将允许新的作者或读者。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#writeLock--"><code>writeLock()</code></a>
</dd>
</dl> </li>
</ul> <a name="readLock--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>readLock</h4> <pre>public final void readLock()</pre>
<div class="block">
<span>获取一个锁,从文档开始读取一些状态。</span>
<span>同时可以有多个读卡器。</span>
<span>写入阻止读者,直到听众的更改通知完成。</span>
<span>应该非常仔细地使用这种方法,以避免文件的意外妥协。</span>
<span>它应该总是与<code>readUnlock</code>平衡。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#readUnlock--"><code>readUnlock()</code></a>
</dd>
</dl> </li>
</ul> <a name="readUnlock--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>readUnlock</h4> <pre>public final void readUnlock()</pre>
<div class="block">
<span>读取解锁</span>
<span>这表明其中一位读者已经完成了。</span>
<span>如果没有更多的读者,写作可以重新开始。</span>
<span>这应该与readLock平衡并且应该在finally语句中进行平衡以保证平衡。</span>
<span>以下是一个例子。</span>
<pre> <span><code>   readLock();   try {   // do something   } finally {   readUnlock();   } </code></span> </pre>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/text/AbstractDocument.html#readLock--"><code>readLock()</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>