mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-02 23:04:22 +08:00
222 lines
9.7 KiB
HTML
222 lines
9.7 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.swing
|
||
</div>
|
||
<h2 class="title" title="Class InputVerifier">Class InputVerifier</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.InputVerifier</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">InputVerifier</span>
|
||
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>这个课程的目的是帮助客户通过带有文本字段的GUI来平滑地聚焦导航。</span>
|
||
<span>这样的GUI通常需要在允许用户导出文本字段之前确保用户输入的文本是有效的(例如,它是正确的格式)。</span>
|
||
<span>为此,客户端创建一个<code>InputVerifier</code>的子类,并使用<code>JComponent</code>的<code>setInputVerifier</code>方法,将其子类的实例附加到其想要验证的输入的<code>JComponent</code>中。</span>
|
||
<span>在焦点转移到请求它的另一个Swing组件之前,调用输入验证器的<code>shouldYieldFocus</code>方法。</span>
|
||
<span>仅当该方法返回<code>true</code> 。</span>
|
||
<p> <span>以下示例有两个文本字段,第一个文本字段要求用户输入字符串“pass”。</span> <span>如果在第一个文本字段中输入该字符串,则用户可以通过在其中单击或按TAB来前进到第二个文本字段。</span> <span>但是,如果在第一个文本字段中输入另一个字符串,则用户将无法将焦点转移到第二个文本字段。</span> </p>
|
||
<pre> <span>import java.awt.*;
|
||
import java.util.*;
|
||
import java.awt.event.*;
|
||
import javax.swing.*;
|
||
|
||
// This program demonstrates the use of the Swing InputVerifier class.
|
||
// It creates two text fields; the first of the text fields expects the
|
||
// string "pass" as input, and will allow focus to advance out of it
|
||
// only after that string is typed in by the user.
|
||
|
||
public class VerifierTest extends JFrame {
|
||
public VerifierTest() {
|
||
JTextField tf1 = new JTextField ("Type \"pass\" here");
|
||
getContentPane().add (tf1, BorderLayout.NORTH);
|
||
tf1.setInputVerifier(new PassVerifier());
|
||
|
||
JTextField tf2 = new JTextField ("TextField2");
|
||
getContentPane().add (tf2, BorderLayout.SOUTH);
|
||
|
||
WindowListener l = new WindowAdapter() {
|
||
public void windowClosing(WindowEvent e) {
|
||
System.exit(0);
|
||
}
|
||
};
|
||
addWindowListener(l);
|
||
}
|
||
|
||
class PassVerifier extends InputVerifier {
|
||
public boolean verify(JComponent input) {
|
||
JTextField tf = (JTextField) input;
|
||
return "pass".equals(tf.getText());
|
||
}
|
||
}
|
||
|
||
public static void main(String[] args) {
|
||
Frame f = new VerifierTest();
|
||
f.pack();
|
||
f.setVisible(true);
|
||
}
|
||
}</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.3
|
||
</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/InputVerifier.html#InputVerifier--">InputVerifier</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>boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/InputVerifier.html#shouldYieldFocus-javax.swing.JComponent-">shouldYieldFocus</a></span>(<a href="../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a> input)</code>
|
||
<div class="block">
|
||
致电
|
||
<code>verify(input)</code>以确保输入有效。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>abstract boolean</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/swing/InputVerifier.html#verify-javax.swing.JComponent-">verify</a></span>(<a href="../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a> input)</code>
|
||
<div class="block">
|
||
检查JComponent的输入是否有效。
|
||
</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">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="InputVerifier--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>InputVerifier</h4> <pre>public InputVerifier()</pre> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="verify-javax.swing.JComponent-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>verify</h4> <pre>public abstract boolean verify(<a href="../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a> input)</pre>
|
||
<div class="block">
|
||
<span>检查JComponent的输入是否有效。</span>
|
||
<span>这种方法应该没有副作用。</span>
|
||
<span>它返回一个布尔值,指示参数输入的状态。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>input</code> - 要验证的JComponent
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<code>true</code>当有效时,
|
||
<code>false</code>无效时
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../javax/swing/JComponent.html#setInputVerifier-javax.swing.InputVerifier-"><code>JComponent.setInputVerifier(javax.swing.InputVerifier)</code></a> ,
|
||
<a href="../../javax/swing/JComponent.html#getInputVerifier--"><code>JComponent.getInputVerifier()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="shouldYieldFocus-javax.swing.JComponent-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>shouldYieldFocus</h4> <pre>public boolean shouldYieldFocus(<a href="../../javax/swing/JComponent.html" title="class in javax.swing">JComponent</a> input)</pre>
|
||
<div class="block">
|
||
<span>致电<code>verify(input)</code>以确保输入有效。</span>
|
||
<span>这种方法可以有副作用。</span>
|
||
<span>特别地,当用户尝试将焦点从参数组件推进到该窗口中的另一个Swing组件时,将调用此方法。</span>
|
||
<span>如果此方法返回<code>true</code> ,则焦点正常传输;</span>
|
||
<span>如果它返回<code>false</code> ,则焦点保留在参数组件中。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>input</code> - 要验证的JComponent
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<code>true</code>当有效时,
|
||
<code>false</code>无效时
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../javax/swing/JComponent.html#setInputVerifier-javax.swing.InputVerifier-"><code>JComponent.setInputVerifier(javax.swing.InputVerifier)</code></a> ,
|
||
<a href="../../javax/swing/JComponent.html#getInputVerifier--"><code>JComponent.getInputVerifier()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |