uTools-Manuals/docs/java/javax/swing/undo/UndoableEdit.html

348 lines
17 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.undo
</div>
<h2 class="title" title="Interface UndoableEdit">Interface UndoableEdit</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../javax/swing/text/AbstractDocument.DefaultDocumentEvent.html" title="javax.swing.text中的类">AbstractDocument.DefaultDocumentEvent</a> <a href="../../../javax/swing/text/AbstractDocument.ElementEdit.html" title="javax.swing.text中的类">AbstractDocument.ElementEdit</a> <a href="../../../javax/swing/undo/AbstractUndoableEdit.html" title="javax.swing.undo中的类">AbstractUndoableEdit</a> <a href="../../../javax/swing/undo/CompoundEdit.html" title="javax.swing.undo中的类">CompoundEdit</a> <a href="../../../javax/swing/text/DefaultStyledDocument.AttributeUndoableEdit.html" title="javax.swing.text中的类">DefaultStyledDocument.AttributeUndoableEdit</a> <a href="../../../javax/swing/undo/StateEdit.html" title="javax.swing.undo中的类">StateEdit</a> <a href="../../../javax/swing/undo/UndoManager.html" title="javax.swing.undo中的类">UndoManager</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">UndoableEdit</span></pre>
<div class="block">
<span>一个<code>UndoableEdit</code>代表一个编辑。</span>
<span>编辑可能会被撤消,或者如果已经撤消,编辑可能会被重做。</span>
<p> <span><code>UndoableEdit</code>被设计为与<code>UndoManager</code>一起使用。</span> <span>由于<code>UndoableEdit</code>是由<code>UndoableEditListener</code>它们通常被添加到<code>UndoManager</code></span> <span>当一个<code>UndoableEdit</code>添加到一个<code>UndoManager</code>发生以下情况(假设<code>end</code>尚未在<code>UndoManager</code><code>UndoManager</code> </span> </p>
<ol>
<li> <span>如果<code>UndoManager</code>包含编辑,它将在当前编辑中调用<code>addEdit</code> ,传递新的编辑作为参数。</span> <span>如果<code>addEdit</code>返回true则假设新编辑已被并入当前编辑并且新编辑将不会添加到当前编辑列表中。</span> <span>编辑可以使用<code>addEdit</code>作为更小的编辑被并入更大的编辑并被视为单个编辑的方式。</span> </li>
<li> <span>如果<code>addEdit</code>返回false <code>replaceEdit</code>被调用新编辑,当前编辑作为参数传入。</span> <span>这是<code>addEdit</code>的倒数?</span> <span>如果新编辑从<code>replaceEdit</code>返回true则新编辑将替换当前编辑。</span> </li>
</ol>
<span><code>UndoManager</code>使用<code>isSignificant</code>来确定应该撤消或重做多少个编辑。</span>
<span><code>UndoManager</code>将撤消或重做当前编辑和上一个或下一个重要编辑之间的所有无关紧要的编辑( <code>isSignificant</code>返回false</span>
<span><code>addEdit</code><code>replaceEdit</code>可以用于将多个编辑作为单个编辑进行处理,从<code>isSignificant</code>返回false可以使用可以一次使用多个较小的编辑撤消或重做。</span>
<span>也可以使用<code>addEdit</code>方法来完成类似的<code>addEdit</code></span>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#addEdit-javax.swing.undo.UndoableEdit-">addEdit</a></span>(<a href="../../../javax/swing/undo/UndoableEdit.html" title="interface in javax.swing.undo">UndoableEdit</a> anEdit)</code>
<div class="block">
添加一个
<code>UndoableEdit</code>到这个
<code>UndoableEdit</code>
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#canRedo--">canRedo</a></span>()</code>
<div class="block">
如果可以重做此修改则返回true。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#canUndo--">canUndo</a></span>()</code>
<div class="block">
如果该编辑可能被撤销则返回true。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#die--">die</a></span>()</code>
<div class="block">
通知编辑它不应再被使用。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<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/undo/UndoableEdit.html#getPresentationName--">getPresentationName</a></span>()</code>
<div class="block">
例如,返回适用于更改日志的本编辑的本地化,可读取的描述。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<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/undo/UndoableEdit.html#getRedoPresentationName--">getRedoPresentationName</a></span>()</code>
<div class="block">
返回适用于例如Redo菜单项的本编辑的可重写形式的本地化可读的描述。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<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/undo/UndoableEdit.html#getUndoPresentationName--">getUndoPresentationName</a></span>()</code>
<div class="block">
返回适用于例如撤消菜单项的此编辑的可撤销形式的本地化,可读的描述。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#isSignificant--">isSignificant</a></span>()</code>
<div class="block">
如果此编辑被认为是重要的则返回true。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#redo--">redo</a></span>()</code>
<div class="block">
重新应用编辑。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/swing/undo/UndoableEdit.html#replaceEdit-javax.swing.undo.UndoableEdit-">replaceEdit</a></span>(<a href="../../../javax/swing/undo/UndoableEdit.html" title="interface in javax.swing.undo">UndoableEdit</a> anEdit)</code>
<div class="block">
如果
<code>UndoableEdit</code>应该取代
<code>anEdit</code>则返回true。
</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/undo/UndoableEdit.html#undo--">undo</a></span>()</code>
<div class="block">
撤消编辑。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="undo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>undo</h4> <pre>void undo()
throws <a href="../../../javax/swing/undo/CannotUndoException.html" title="class in javax.swing.undo">CannotUndoException</a></pre>
<div class="block">
撤消编辑。
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/undo/CannotUndoException.html" title="class in javax.swing.undo">CannotUndoException</a></code> - 如果此编辑无法撤消
</dd>
</dl> </li>
</ul> <a name="canUndo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>canUndo</h4> <pre>boolean canUndo()</pre>
<div class="block">
如果该编辑可能被撤销则返回true。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果此编辑可能被撤销则为true
</dd>
</dl> </li>
</ul> <a name="redo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>redo</h4> <pre>void redo()
throws <a href="../../../javax/swing/undo/CannotRedoException.html" title="class in javax.swing.undo">CannotRedoException</a></pre>
<div class="block">
重新应用编辑。
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/swing/undo/CannotRedoException.html" title="class in javax.swing.undo">CannotRedoException</a></code> - 如果此编辑无法重做
</dd>
</dl> </li>
</ul> <a name="canRedo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>canRedo</h4> <pre>boolean canRedo()</pre>
<div class="block">
如果可以重做此修改则返回true。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果此修改可能会重做则为true
</dd>
</dl> </li>
</ul> <a name="die--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>die</h4> <pre>void die()</pre>
<div class="block">
<span>通知编辑它不应再被使用。</span>
<span>一旦<code>UndoableEdit</code>被标记为死亡,它将无法再被撤销或重做。</span>
<p> <span>这是一个有用的钩子,用于清除状态,一旦撤消或重做是不可能的,就不再需要 - 例如,删除不再被删除的对象使用的文件资源。</span> <span><code>UndoManager</code>调用它之前,它出<code>UndoManager</code>编辑。</span> </p>
<p> <span>请注意,这是单向操作。</span> <span>没有“不死”的方法。</span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/swing/undo/CompoundEdit.html#die--"><code>CompoundEdit.die()</code></a>
</dd>
</dl> </li>
</ul> <a name="addEdit-javax.swing.undo.UndoableEdit-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addEdit</h4> <pre>boolean addEdit(<a href="../../../javax/swing/undo/UndoableEdit.html" title="interface in javax.swing.undo">UndoableEdit</a> anEdit)</pre>
<div class="block">
<span>添加一个<code>UndoableEdit</code>到这个<code>UndoableEdit</code></span>
<span>该方法可用于将较小的编辑合并为较大的复合编辑。</span>
<span>例如,文本编辑器通常允许撤销操作适用于单词或句子。</span>
<span>文本编辑器可以选择在每个键事件上生成编辑,但允许将这些编辑合并到更加用户友好的单元中,例如单词。</span>
<span>在这种情况下,当编辑可能合并时, <code>UndoableEdit</code>将覆盖<code>addEdit</code>以返回true。</span>
<p> <span>返回值为true表示<code>anEdit</code>被并入此编辑。</span> <span>返回值为false表示<code>anEdit</code>可能未被并入此编辑。</span> </p>
<p> <span>通常,接收器已经在<code>UndoManager</code> (或其他<code>UndoableEditListener</code> )的队列中,并且有机会合并<code>anEdit</code>而不是依次添加到队列中。</span> </p>
<p> <span>如果返回true从现在起<code>anEdit</code>必须从<code>canUndo</code><code>canRedo</code>返回false并且必须在<code>undo</code><code>redo</code><code>undo</code> <code>redo</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>anEdit</code> - 要添加的编辑
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果
<code>anEdit</code>可以并入此编辑则为true
</dd>
</dl> </li>
</ul> <a name="replaceEdit-javax.swing.undo.UndoableEdit-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>replaceEdit</h4> <pre>boolean replaceEdit(<a href="../../../javax/swing/undo/UndoableEdit.html" title="interface in javax.swing.undo">UndoableEdit</a> anEdit)</pre>
<div class="block">
<span>如果这<code>UndoableEdit</code>应该取代<code>anEdit</code>则返回true。</span>
<span>此方法由<code>CompoundEdit</code><code>UndoManager</code> ;</span>
<span>如果<code>anEdit</code>无法添加到当前编辑( <code>addEdit</code>返回false则调用它。</span>
<p> <span>此方法提供了编辑以替换现有编辑的方式。</span> </p>
<p> <span>这个消息与addEdit相反 - anEdit通常已经在<code>UndoManager</code> 或其他UndoableEditListener中排队并且接收者被给予一个机会取代它。</span> </p>
<p> <span>如果返回true从现在起anEdit必须从canUndo和canRedo返回false并且必须在undo或redo上抛出适当的异常。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>anEdit</code> - 替换当前编辑的编辑
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果这个编辑应该取代
<code>anEdit</code>
</dd>
</dl> </li>
</ul> <a name="isSignificant--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isSignificant</h4> <pre>boolean isSignificant()</pre>
<div class="block">
<span>如果此编辑被认为是重要的则返回true。</span>
<span>重要的编辑通常是应该呈现给用户的编辑,可能在菜单项或工具提示上。</span>
<span><code>UndoManager</code>将撤消或重做,对下一个重要编辑进行的所有无关紧要的编辑。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果此编辑很重要则为true
</dd>
</dl> </li>
</ul> <a name="getPresentationName--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getPresentationName</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> getPresentationName()</pre>
<div class="block">
例如,返回适用于更改日志的本编辑的本地化,可读取的描述。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
此编辑的描述
</dd>
</dl> </li>
</ul> <a name="getUndoPresentationName--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getUndoPresentationName</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> getUndoPresentationName()</pre>
<div class="block">
<span>返回适用于例如撤消菜单项的此编辑的可撤销形式的本地化,可读的描述。</span>
<span>这通常来自于<code>getPresentationName</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该编辑的可撤销形式的描述
</dd>
</dl> </li>
</ul> <a name="getRedoPresentationName--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getRedoPresentationName</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> getRedoPresentationName()</pre>
<div class="block">
<span>返回适用于例如Redo菜单项的本编辑的可重写形式的本地化可读的描述。</span>
<span>这通常来自于<code>getPresentationName</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
a description of the redoable form of this edit
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>