mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-04 07:42:45 +08:00
730 lines
40 KiB
HTML
730 lines
40 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.swing.text
|
||
</div>
|
||
<h2 class="title" title="Interface Document">Interface Document</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Known Subinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/text/StyledDocument.html" title="javax.swing.text中的接口">StyledDocument</a></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/text/AbstractDocument.html" title="javax.swing.text中的类">AbstractDocument</a> , <a href="../../../javax/swing/text/DefaultStyledDocument.html" title="javax.swing.text中的类">DefaultStyledDocument</a> , <a href="../../../javax/swing/text/html/HTMLDocument.html" title="javax.swing.text.html中的类">HTMLDocument</a> , <a href="../../../javax/swing/text/PlainDocument.html" title="javax.swing.text中的类">PlainDocument</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">Document</span></pre>
|
||
<div class="block">
|
||
<p> <span><code>Document</code>是用于文本的容器,用作挥杆文本组件的模型。</span> <span>该接口的目标是从非常简单的需求(纯文本字段)扩展到复杂的需求(例如,HTML或XML文档)。</span> </p>
|
||
<p> <span><b><font size="+1">内容</font></b></span> </p>
|
||
<p> <span>在最简单的层面上,文本可以被建模为一个线性的字符序列。</span> <span>为了支持国际化,Swing文本模型使用<a href="http://www.unicode.org/">unicode个</a>字符。</span> <span>文本组件中显示的字符序列通常称为组件的<em>内容</em> 。</span> </p>
|
||
<p> <span>要引用序列中的位置,所使用的坐标是两个字符之间的位置。</span> <span>如下图所示,文本文档中的位置可以称为位置或偏移。</span> <span>这个位置是基于零的。</span> </p>
|
||
<p style="text-align:center"><img alt="以下文字描述了此图形。" src="doc-files/Document-coord.gif"/></p>
|
||
<p> <span>在这个例子中,如上图所示,如果文档的内容是序列“快速棕色狐狸”,则位于“The”之前的位置为0,位于“The”之后的位置后面的空格是3。序列“The”中的整个字符序列被称为<em>范围</em> 。</span> </p>
|
||
<p> <span>以下方法可以访问构成内容的字符数据。</span> </p>
|
||
<ul>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getLength--"><code>getLength()</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getText-int-int-"><code>getText(int, int)</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getText-int-int-javax.swing.text.Segment-"><code>getText(int, int, javax.swing.text.Segment)</code></a></span> </li>
|
||
</ul>
|
||
<p> <span><b><font size="+1">结构体</font></b></span> </p>
|
||
<p> <span>文本很少被简单地表示为无特征的内容。</span> <span>相反,文本通常具有与其相关联的某种结构。</span> <span>正是由什么结构建模到由一个特定的Document实现。</span> <span>它可能就像没有结构一样简单(即一个简单的文本字段),或者它可能类似于下面的图。</span> </p>
|
||
<p style="text-align:center"><img alt="图 - >章 - >段" src="doc-files/Document-structure.gif"/></p>
|
||
<p> <span>结构单元(即树的一个节点)由<a href="Element.html">Element</a>接口引用。</span> <span>每个元素都可以用一组属性标记。</span> <span>这些属性(名称/值对)由<a href="AttributeSet.html">AttributeSet</a>接口定义。</span> </p>
|
||
<p> <span>以下方法可以访问文档结构。</span> </p>
|
||
<ul>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getDefaultRootElement--"><code>getDefaultRootElement()</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getRootElements--"><code>getRootElements()</code></a></span> </li>
|
||
</ul>
|
||
<p> <span><b><font size="+1">突变</font></b></span> </p>
|
||
<p> <span>所有文件需要能够添加和删除简单的文本。</span> <span>通常,通过手势从键盘或鼠标插入和删除文本。</span> <span>对文档结构的插入或删除有什么影响完全取决于文档的实现。</span> </p>
|
||
<p> <span>以下方法与文件内容的突变有关:</span> </p>
|
||
<ul>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#insertString-int-java.lang.String-javax.swing.text.AttributeSet-"><code>insertString(int, java.lang.String, javax.swing.text.AttributeSet)</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#remove-int-int-"><code>remove(int, int)</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#createPosition-int-"><code>createPosition(int)</code></a></span> </li>
|
||
</ul>
|
||
<p> <span><b><font size="+1">通知</font></b></span> </p>
|
||
<p> <span>Document的<code>Document</code>必须传达给感兴趣的观察员。</span> <span>更改通知遵循为JavaBeans指定的事件模型指南。</span> <span>在JavaBeans事件模型中,一旦调度了事件通知,在事件源发生任何进一步突变之前,必须通知所有侦听器。</span> <span>此外,交货的顺序不能保证。</span> </p>
|
||
<p> <span>通知作为两个单独的事件提供, <a href="../event/DocumentEvent.html">DocumentEvent</a>和<a href="../event/UndoableEditEvent.html">UndoableEditEvent</a> 。</span> <span>如果通过其api向<code>Document</code>进行突变, <code>DocumentEvent</code>向所有注册的<code>DocumentListeners</code>发送<code>DocumentListeners</code> 。</span> <span>如果<code>Document</code>实现支持撤消/重做功能,那么<code>UndoableEditEvent</code>将被发送到所有注册的<code>UndoableEditListener</code> 。</span> <span>如果可撤消的编辑被撤销,则应从文档中触发<code>DocumentEvent</code>以指示它已重新更改。</span> <span>然而,在这种情况下,应该没有<code>UndoableEditEvent</code> UndoableEditEvent,因为编辑实际上是变化的根源,而不是通过其api进行的<code>Document</code>的突变。</span> </p>
|
||
<p style="text-align:center"><img alt="前面的文字描述了这个图形。" src="doc-files/Document-notification.gif"/></p>
|
||
<p> <span>参考上图,假设左侧所示的组件会以蓝色矩形表示的文档对象进行变异。</span> <span>该文档通过将DocumentEvent分派到两个组件视图进行响应,并将一个UndoableEditEvent发送到监听逻辑,该监听逻辑维护一个历史缓冲区。</span> </p>
|
||
<p> <span>现在假设右侧显示的组件会将相同的文档变为同一文档。</span> <span>同样,文档会将DocumentEvent分派到两个组件视图,并将UndoableEditEvent发送到维护历史缓冲区的侦听逻辑。</span> </p>
|
||
<p> <span>如果历史记录缓冲区然后回滚(即最后一个UndoableEdit撤消),则会将一个DocumentEvent发送到这两个视图,这两个视图都会将文档中的撤消变量反映出来(也就是删除正确的组件的突变)。</span> <span>如果历史缓冲区再次回滚另一个更改,则会将另一个DocumentEvent发送到这两个视图,从而使它们反映到文档的撤消变量 - 即删除左组件的突变。</span> </p>
|
||
<p> <span>与文献观察突变有关的方法有:</span> </p>
|
||
<ul>
|
||
<li> <span><a href="#addDocumentListener(javax.swing.event.DocumentListener)">addDocumentListener(DocumentListener)</a></span> </li>
|
||
<li> <span><a href="#removeDocumentListener(javax.swing.event.DocumentListener)">removeDocumentListener(DocumentListener)</a></span> </li>
|
||
<li> <span><a href="#addUndoableEditListener(javax.swing.event.UndoableEditListener)">addUndoableEditListener(UndoableEditListener)</a></span> </li>
|
||
<li> <span><a href="#removeUndoableEditListener(javax.swing.event.UndoableEditListener)">removeUndoableEditListener(UndoableEditListener)</a></span> </li>
|
||
</ul>
|
||
<p> <span><b><font size="+1">属性</font></b></span> </p>
|
||
<p> <span>文档实现通常会在运行时具有与它们相关联的一些属性集。</span> <span>两个众所周知的属性是<a href="#StreamDescriptionProperty">StreamDescriptionProperty</a> ,可以用来描述<code>Document</code>来自哪里,以及<a href="#TitleProperty">TitleProperty</a> ,可以用来命名<code>Document</code> 。</span> <span>与属性相关的方法有:</span> </p>
|
||
<ul>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#getProperty-java.lang.Object-"><code>getProperty(java.lang.Object)</code></a></span> </li>
|
||
<li> <span><a href="../../../javax/swing/text/Document.html#putProperty-java.lang.Object-java.lang.Object-"><code>putProperty(java.lang.Object, java.lang.Object)</code></a></span> </li>
|
||
</ul>
|
||
<p> <span>有关<code>Document</code>课程的更多信息,请参阅<a href="http://java.sun.com/products/jfc/tsc">The Swing Connection</a> ,特别是文章<a href="http://java.sun.com/products/jfc/tsc/articles/text/element_interface">The Element Interface</a> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/event/DocumentEvent.html" title="javax.swing.event中的接口"><code>DocumentEvent</code></a> , <a href="../../../javax/swing/event/DocumentListener.html" title="javax.swing.event中的接口"><code>DocumentListener</code></a> , <a href="../../../javax/swing/event/UndoableEditEvent.html" title="javax.swing.event中的类"><code>UndoableEditEvent</code></a> , <a href="../../../javax/swing/event/UndoableEditListener.html" title="javax.swing.event中的接口"><code>UndoableEditListener</code></a> , <a href="../../../javax/swing/text/Element.html" title="javax.swing.text中的接口"><code>Element</code></a> , <a href="../../../javax/swing/text/Position.html" title="javax.swing.text中的接口"><code>Position</code></a> , <a href="../../../javax/swing/text/AttributeSet.html" title="javax.swing.text中的接口"><code>AttributeSet</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- =========== 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>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/Document.html#StreamDescriptionProperty">StreamDescriptionProperty</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/Document.html#TitleProperty">TitleProperty</a></span></code>
|
||
<div class="block">
|
||
文件标题的属性名称,如果有的话。
|
||
</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>
|
||
</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/Document.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/Document.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><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/Document.html#createPosition-int-">createPosition</a></span>(int offs)</code>
|
||
<div class="block">
|
||
该方法允许应用程序在字符内容序列中标记一个地方。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<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/Document.html#getDefaultRootElement--">getDefaultRootElement</a></span>()</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/Document.html#getEndPosition--">getEndPosition</a></span>()</code>
|
||
<div class="block">
|
||
返回表示文档结尾的位置。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.html#getLength--">getLength</a></span>()</code>
|
||
<div class="block">
|
||
返回文档中当前内容的字符数。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<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/Document.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="rowColor" id="i7">
|
||
<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/Document.html#getRootElements--">getRootElements</a></span>()</code>
|
||
<div class="block">
|
||
返回定义的所有根元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<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/Document.html#getStartPosition--">getStartPosition</a></span>()</code>
|
||
<div class="block">
|
||
返回表示文档开头的位置。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<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/Document.html#getText-int-int-">getText</a></span>(int offset, int length)</code>
|
||
<div class="block">
|
||
获取文档给定部分中包含的文本。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.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="rowColor" id="i11">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.html#insertString-int-java.lang.String-javax.swing.text.AttributeSet-">insertString</a></span>(int offset, <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="i12">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.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="i13">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.html#remove-int-int-">remove</a></span>(int offs, int len)</code>
|
||
<div class="block">
|
||
删除文档内容的一部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i14">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.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="i15">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.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="i16">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/text/Document.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>
|
||
</tbody>
|
||
</table> </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="StreamDescriptionProperty">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>StreamDescriptionProperty</h4> <pre>static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> StreamDescriptionProperty</pre>
|
||
<div class="block">
|
||
<span>用于初始化文档的流的描述的属性名称。</span>
|
||
<span>如果文档是从流初始化的,并且关于流的所有内容都是已知的,则应该使用这一点。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.swing.text.Document.StreamDescriptionProperty">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="TitleProperty">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>TitleProperty</h4> <pre>static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> TitleProperty</pre>
|
||
<div class="block">
|
||
文件标题的属性名称,如果有的话。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../constant-values.html#javax.swing.text.Document.TitleProperty">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="getLength--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getLength</h4> <pre>int getLength()</pre>
|
||
<div class="block">
|
||
返回文档中当前内容的字符数。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
字符数> = 0
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="addDocumentListener-javax.swing.event.DocumentListener-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>addDocumentListener</h4> <pre>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="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 观察员注册
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/swing/text/Document.html#removeDocumentListener-javax.swing.event.DocumentListener-"><code>removeDocumentListener(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>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="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 观察员注册
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/swing/text/Document.html#addDocumentListener-javax.swing.event.DocumentListener-"><code>addDocumentListener(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>void addUndoableEditListener(<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="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 观察员注册
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/event/UndoableEditEvent.html" title="javax.swing.event中的类"><code>UndoableEditEvent</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="removeUndoableEditListener-javax.swing.event.UndoableEditListener-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>removeUndoableEditListener</h4> <pre>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="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 观察员注册
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/event/UndoableEditEvent.html" title="javax.swing.event中的类"><code>UndoableEditEvent</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getProperty-java.lang.Object-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getProperty</h4> <pre><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">
|
||
获取与文档关联的属性。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>key</code> - 非
|
||
<code>null</code>属性键
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
的属性
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../javax/swing/text/Document.html#putProperty-java.lang.Object-java.lang.Object-"><code>putProperty(Object, Object)</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>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>提供的两个标准属性键有: <a href="#StreamDescriptionProperty"><code>StreamDescriptionProperty</code></a>和<a href="#TitleProperty"><code>TitleProperty</code></a> 。</span>
|
||
<span>也可以定义其他属性,如作者。</span>
|
||
</div>
|
||
<dl>
|
||
<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/Document.html#getProperty-java.lang.Object-"><code>getProperty(Object)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="remove-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>remove</h4> <pre>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>这将导致DocumentEvent.EventType.REMOVE类型的DocumentEvent发送到已注册的DocumentListeners,除非抛出异常。</span>
|
||
<span>该通知将通过调用DocumentListeners上的removeUpdate方法发送给监听器。</span>
|
||
<p> <span>为了确保在并发性方面的合理行为,事件发生后发生。</span> <span>这意味着在发出删除通知之后,文档已经被更新,并且由<code>createPosition</code>创建的任何标记已经改变。</span> <span>对于删除,删除范围的结束将折叠到范围的开始,并且删除范围中的任何标记都将折叠到范围的开头。</span> </p>
|
||
<p style="text-align:center"><img alt="图表显示从“快速棕色狐狸”中删除“快速”。" src="doc-files/Document-remove.gif"/></p>
|
||
<p> <span>如果文档结构由于删除而更改,则会在生成的DocumentEvent中包含要更改的元素插入和删除的详细信息。</span> <span>由文件的实施决定结构如何改变以应对删除。</span> </p>
|
||
<p> <span>如果文档支持撤消/重做,则还将生成UndoableEditEvent。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>offs</code> - 从开始> = 0的偏移量
|
||
</dd>
|
||
<dd>
|
||
<code>len</code> - 要删除的字符数> = 0
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 删除范围的某些部分不是文档的有效部分。</span>
|
||
<span>异常中的位置是遇到的第一个坏位置。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../javax/swing/event/DocumentEvent.html" title="javax.swing.event中的接口"><code>DocumentEvent</code></a> , <a href="../../../javax/swing/event/DocumentListener.html" title="javax.swing.event中的接口"><code>DocumentListener</code></a> , <a href="../../../javax/swing/event/UndoableEditEvent.html" title="javax.swing.event中的类"><code>UndoableEditEvent</code></a> , <a href="../../../javax/swing/event/UndoableEditListener.html" title="javax.swing.event中的接口"><code>UndoableEditListener</code></a></span>
|
||
</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>void insertString(int offset,
|
||
<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>这将导致DocumentEvent.EventType.INSERT类型的DocumentEvent发送到已注册的DocumentLister,除非抛出异常。</span>
|
||
<span>DocumentEvent将通过在DocumentListener上调用insertUpdate方法来传递。</span>
|
||
<span>生成的DocumentEvent的偏移量和长度将指示实际对文档进行了哪些更改。</span>
|
||
<p style="text-align:center"><img alt="图表显示在“快速棕色狐狸”中插入“快速”" src="doc-files/Document-insert.gif"/></p>
|
||
<p> <span>如果文档结构因插入而更改,则会在生成的DocumentEvent中包含要更改的元素插入和删除的详细信息。</span> <span>文件的执行取决于结构如何响应插入而改变。</span> </p>
|
||
<p> <span>如果文档支持撤消/重做,则还将生成UndoableEditEvent。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>offset</code> - 要插入内容> = 0的文档的偏移量。在给定位置或之后跟踪更改的所有位置将移动。
|
||
</dd>
|
||
<dd>
|
||
<code>str</code> - 要插入的字符串
|
||
</dd>
|
||
<dd>
|
||
<span><code>a</code> - 与插入的内容关联的属性。</span>
|
||
<span>如果没有属性,则可能为null。</span>
|
||
</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>
|
||
<span><a href="../../../javax/swing/event/DocumentEvent.html" title="javax.swing.event中的接口"><code>DocumentEvent</code></a> , <a href="../../../javax/swing/event/DocumentListener.html" title="javax.swing.event中的接口"><code>DocumentListener</code></a> , <a href="../../../javax/swing/event/UndoableEditEvent.html" title="javax.swing.event中的类"><code>UndoableEditEvent</code></a> , <a href="../../../javax/swing/event/UndoableEditListener.html" title="javax.swing.event中的接口"><code>UndoableEditListener</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getText-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getText</h4> <pre><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="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>offset</code> - 表示文本的期望开始的文档的偏移量> = 0
|
||
</dd>
|
||
<dd>
|
||
<code>length</code> - 所需字符串的长度> = 0
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
文本,长度> = 0的字符串
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定范围的某些部分不是文档的有效部分。</span>
|
||
<span>异常中的位置是遇到的第一个坏位置。</span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getText-int-int-javax.swing.text.Segment-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getText</h4> <pre>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><code> int nleft = doc.getDocumentLength(); Segment text = new Segment(); int offs = 0; text.setPartialReturn(true); while (nleft > 0) { doc.getText(offs, nleft, text); // do someting with text nleft -= text.count; offs += text.count; } </code></span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>offset</code> - 表示文本的期望开始的文档的偏移量> = 0
|
||
</dd>
|
||
<dd>
|
||
<code>length</code> - 所需字符串的长度> = 0
|
||
</dd>
|
||
<dd>
|
||
<code>txt</code> - 返回文本的Segment对象
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code><a href="../../../javax/swing/text/BadLocationException.html" title="class in javax.swing.text">BadLocationException</a></code> - 给定范围的某些部分不是文档的有效部分。</span>
|
||
<span>异常中的位置是遇到的第一个坏位置。</span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getStartPosition--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getStartPosition</h4> <pre><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="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
的位置
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getEndPosition--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getEndPosition</h4> <pre><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="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
的位置
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="createPosition-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>createPosition</h4> <pre><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>
|
||
<span>然后可以使用该标记来跟踪内容中的插入和移除的变化。</span>
|
||
<span>该策略是插入始终在当前位置之前(最常见的情况)发生,除非插入位置为零,在这种情况下,插入被强制到位于原始位置之后的位置。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>offs</code> - 从文档开始> = 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>
|
||
</dl> </li>
|
||
</ul> <a name="getRootElements--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getRootElements</h4> <pre><a href="../../../javax/swing/text/Element.html" title="interface in javax.swing.text">Element</a>[] getRootElements()</pre>
|
||
<div class="block">
|
||
<span>返回定义的所有根元素。</span>
|
||
<p> <span>通常只有一个文档结构,但接口支持在文本数据上构建任意数量的结构投影。</span> <span>该文档可以有多个根元素来支持多个文档结构。</span> <span>一些例子可能是:</span> </p>
|
||
<ul>
|
||
<li> <span>文字方向。</span> </li>
|
||
<li> <span>词汇标记流。</span> </li>
|
||
<li> <span>解析树。</span> </li>
|
||
<li> <span>转换为原生格式以外的格式。</span> </li>
|
||
<li> <span>修改规格。</span> </li>
|
||
<li> <span>注释。</span> </li>
|
||
</ul>
|
||
</div>
|
||
<dl>
|
||
<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><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="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
根元素
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="render-java.lang.Runnable-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>render</h4> <pre>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>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>r</code> - 一个用于渲染模型的
|
||
<code>Runnable</code>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |