uTools-Manuals/docs/java/javax/swing/JFormattedTextField.AbstractFormatter.html

430 lines
20 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
</div>
<h2 class="title" title="Class JFormattedTextField.AbstractFormatter">Class JFormattedTextField.AbstractFormatter</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.JFormattedTextField.AbstractFormatter</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></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../javax/swing/text/DefaultFormatter.html" title="javax.swing.text中的类">DefaultFormatter</a></span>
</dd>
</dl>
<dl>
<dt>
Enclosing class:
</dt>
<dd>
<span><a href="../../javax/swing/JFormattedTextField.html" title="javax.swing中的类">JFormattedTextField</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract static class <span class="typeNameLabel">JFormattedTextField.AbstractFormatter</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../java/io/Serializable.html" title="interface in java.io">Serializable</a></pre>
<div class="block">
<span>AbstractFormatter的<code>AbstractFormatter</code><code>JFormattedTextField</code>用于处理从对象到字符串以及从字符串返回到对象的转换。</span>
<span><code>AbstractFormatter</code>还可以强制执行编辑策略或导航策略,或以任何方式<code>JFormattedTextField</code>以执行所需策略。</span>
<p> <span>一个<code>AbstractFormatter</code>只能在一个<code>JFormattedTextField</code>一次有效。</span> <span><code>JFormattedTextField</code>调用<code>install</code>当它准备好使用它后跟<code>uninstall</code>完成。</span> <span>希望安装其他状态的子类应该覆盖<code>install</code>和超级消息。</span> </p>
<p> <span>子类必须覆盖转换方法<code>stringToValue</code><code>valueToString</code></span> <span>可选他们可以覆盖<code>getActions</code> <code>getNavigationFilter</code><code>getDocumentFilter</code>限制<code>JFormattedTextField</code>以特定的方式。</span> </p>
<p> <span>允许<code>JFormattedTextField</code>处于暂时无效状态的子类应在适当的时候调用<code>setEditValid</code></span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/swing/JFormattedTextField.AbstractFormatter.html#AbstractFormatter--">AbstractFormatter</a></span>()</code> </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>protected <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/JFormattedTextField.AbstractFormatter.html#clone--">clone</a></span>()</code>
<div class="block">
克隆
<code>AbstractFormatter</code>
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected <a href="../../javax/swing/Action.html" title="interface in javax.swing">Action</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/JFormattedTextField.AbstractFormatter.html#getActions--">getActions</a></span>()</code>
<div class="block">
子类和覆盖,如果你想提供一个定制的
<code>Action</code> s。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected <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/JFormattedTextField.AbstractFormatter.html#getDocumentFilter--">getDocumentFilter</a></span>()</code>
<div class="block">
如果您希望提供
<code>DocumentFilter</code>以限制可以输入的内容,则可以使用子类和覆盖。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>protected <a href="../../javax/swing/JFormattedTextField.html" title="class in javax.swing">JFormattedTextField</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/JFormattedTextField.AbstractFormatter.html#getFormattedTextField--">getFormattedTextField</a></span>()</code>
<div class="block">
返回当前
<code>JFormattedTextField</code>
<code>AbstractFormatter</code>
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>protected <a href="../../javax/swing/text/NavigationFilter.html" title="class in javax.swing.text">NavigationFilter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/JFormattedTextField.AbstractFormatter.html#getNavigationFilter--">getNavigationFilter</a></span>()</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/JFormattedTextField.AbstractFormatter.html#install-javax.swing.JFormattedTextField-">install</a></span>(<a href="../../javax/swing/JFormattedTextField.html" title="class in javax.swing">JFormattedTextField</a> ftf)</code>
<div class="block">
<code>AbstractFormatter</code>安装到特定的
<code>JFormattedTextField</code>
</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/JFormattedTextField.AbstractFormatter.html#invalidEdit--">invalidEdit</a></span>()</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/JFormattedTextField.AbstractFormatter.html#setEditValid-boolean-">setEditValid</a></span>(boolean valid)</code>
<div class="block">
调用此更新
<code>editValid</code>的财产
<code>JFormattedTextField</code>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>abstract <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/JFormattedTextField.AbstractFormatter.html#stringToValue-java.lang.String-">stringToValue</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> text)</code>
<div class="block">
解析
<code>text</code>返回任意的对象。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/JFormattedTextField.AbstractFormatter.html#uninstall--">uninstall</a></span>()</code>
<div class="block">
卸载任何状态
<code>AbstractFormatter</code>可能对安装
<code>JFormattedTextField</code>
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract <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/JFormattedTextField.AbstractFormatter.html#valueToString-java.lang.Object-">valueToString</a></span>(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> value)</code>
<div class="block">
返回
<code>value</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#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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="AbstractFormatter--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AbstractFormatter</h4> <pre>public AbstractFormatter()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="install-javax.swing.JFormattedTextField-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>install</h4> <pre>public void install(<a href="../../javax/swing/JFormattedTextField.html" title="class in javax.swing">JFormattedTextField</a> ftf)</pre>
<div class="block">
<span>安装<code>AbstractFormatter</code>到特定<code>JFormattedTextField</code></span>
<span>这将调用<code>valueToString</code>将当前值从<code>JFormattedTextField</code>转换为字符串。</span>
<span>那么这将安装<code>Action</code>从s <code>getActions</code> ,该<code>DocumentFilter</code>从返回<code>getDocumentFilter</code><code>NavigationFilter</code>从返回<code>getNavigationFilter</code><code>JFormattedTextField</code></span>
<p> <span>子类通常只需要覆盖这个如果他们希望在JFormattedTextField上安装其他监听<code>JFormattedTextField</code></span> </p>
<p> <span>如果有一个<code>ParseException</code>将当前值转换为字符串,则将文本设置为空字符串,并将<code>JFormattedTextField</code>标记为无效状态。</span> </p>
<p> <span>虽然这是一种公共方法但这通常仅适用于JFormattedTextField的<code>JFormattedTextField</code></span> <span><code>JFormattedTextField</code>将在值更改或其内部状态更改的适当时候调用此方法。</span> <span>您只需要将此调用自己,如果你正在继承<code>JFormattedTextField</code>和安装/卸载<code>AbstractFormatter</code>比不同的时间<code>JFormattedTextField</code>做。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ftf</code> - JFormattedTextField格式化可能为null表示从当前JFormattedTextField卸载。
</dd>
</dl> </li>
</ul> <a name="uninstall--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>uninstall</h4> <pre>public void uninstall()</pre>
<div class="block">
<span>卸载任何状态<code>AbstractFormatter</code>可能对安装<code>JFormattedTextField</code></span>
<span>这将重置<code>DocumentFilter</code> <code>NavigationFilter</code>和附加<code>Action</code>安装在S <code>JFormattedTextField</code></span>
</div> </li>
</ul> <a name="stringToValue-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>stringToValue</h4> <pre>public abstract <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> stringToValue(<a href="../../java/lang/String.html" title="class in java.lang">String</a> text)
throws <a href="../../java/text/ParseException.html" title="class in java.text">ParseException</a></pre>
<div class="block">
<span>解析<code>text</code>返回任意对象。</span>
<span>一些格式化程序可能返回null。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>text</code> - 要转换的字符串
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
文本的对象表示
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/text/ParseException.html" title="class in java.text">ParseException</a></code> - 转换中是否有错误
</dd>
</dl> </li>
</ul> <a name="valueToString-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>valueToString</h4> <pre>public abstract <a href="../../java/lang/String.html" title="class in java.lang">String</a> valueToString(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> value)
throws <a href="../../java/text/ParseException.html" title="class in java.text">ParseException</a></pre>
<div class="block">
返回
<code>value</code>显示的字符串值。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>value</code> - 要转换的价值
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
值的字符串表示
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/text/ParseException.html" title="class in java.text">ParseException</a></code> - 如果转换中有错误
</dd>
</dl> </li>
</ul> <a name="getFormattedTextField--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFormattedTextField</h4> <pre>protected <a href="../../javax/swing/JFormattedTextField.html" title="class in javax.swing">JFormattedTextField</a> getFormattedTextField()</pre>
<div class="block">
返回当前
<code>JFormattedTextField</code>
<code>AbstractFormatter</code>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
JFormattedTextField格式化。
</dd>
</dl> </li>
</ul> <a name="invalidEdit--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>invalidEdit</h4> <pre>protected void invalidEdit()</pre>
<div class="block">
<span>当用户键入无效字符时,应该调用此值。</span>
<span>这会将调用转发到当前的JFormattedTextField。</span>
</div> </li>
</ul> <a name="setEditValid-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setEditValid</h4> <pre>protected void setEditValid(boolean valid)</pre>
<div class="block">
<span>调用此更新<code>editValid</code>的财产<code>JFormattedTextField</code></span>
<span>如果您强制执行<code>JFormattedTextField</code>始终处于有效状态的策略,则您将永远不需要调用此策略。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>valid</code> -
<code>valid</code>有效状态
</dd>
</dl> </li>
</ul> <a name="getActions--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getActions</h4> <pre>protected <a href="../../javax/swing/Action.html" title="interface in javax.swing">Action</a>[] getActions()</pre>
<div class="block">
<span>子类和覆盖,如果你想提供一个自定义的<code>Action</code> s。</span>
<span><code>install</code>将安装在<code>JFormattedTextField</code><code>ActionMap</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
要在JFormattedTextField上安装的操作数组
</dd>
</dl> </li>
</ul> <a name="getDocumentFilter--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDocumentFilter</h4> <pre>protected <a href="../../javax/swing/text/DocumentFilter.html" title="class in javax.swing.text">DocumentFilter</a> getDocumentFilter()</pre>
<div class="block">
<span>子类和覆盖,如果你想提供一个<code>DocumentFilter</code>来限制可以输入的内容。</span>
<span><code>install</code>将返回的值安装到<code>JFormattedTextField</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
DocumentFilter来限制编辑
</dd>
</dl> </li>
</ul> <a name="getNavigationFilter--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getNavigationFilter</h4> <pre>protected <a href="../../javax/swing/text/NavigationFilter.html" title="class in javax.swing.text">NavigationFilter</a> getNavigationFilter()</pre>
<div class="block">
<span>如果您希望提供一个过滤器来限制用户可以导航的位置,则可以使用子类和覆盖。</span>
<span><code>install</code>将返回的值安装到<code>JFormattedTextField</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
NavigationFilter限制导航
</dd>
</dl> </li>
</ul> <a name="clone--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>clone</h4> <pre>protected <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> clone()
throws <a href="../../java/lang/CloneNotSupportedException.html" title="class in java.lang">CloneNotSupportedException</a></pre>
<div class="block">
<span>克隆<code>AbstractFormatter</code></span>
<span>返回的实例不与<code>JFormattedTextField</code></span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../java/lang/Object.html#clone--">clone</a></code>
<code><a href="../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
AbstractFormatter的副本
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../java/lang/CloneNotSupportedException.html" title="class in java.lang">CloneNotSupportedException</a></code> - 如果对象的类不支持<code>Cloneable</code>接口。</span>
<span>覆盖<code>clone</code>方法的子类也可以引发此异常以指示实例无法克隆。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../java/lang/Cloneable.html" title="interface in java.lang"><code>Cloneable</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>