| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.swing.InputVerifier
public abstract class InputVerifier
此类的用途是通过带文本字段的 GUI 帮助客户端支持流畅的焦点导航。在允许用户导航到文本字段以外之前,这类 GUI 常常需要确保用户输入的文本是有效的(例如,文本具有正确的格式)。为做到这一点,客户端要使用 JComponent 的 setInputVerifier 方法创建 InputVerifier 的子类,并将其子类的实例附加到想要验证其输入的 JComponent 中。在将焦点转移到另一个请求它的 Swing 组件之前,要调用输入验证器的 shouldYieldFocus 方法。只在该方法返回 true 时才转移焦点。
 
以下示例有两个文本字段,其中第一个字段期望用户输入字符串 "pass"。如果在第一个文本字段中输入该字符串,那么用户可以通过在第二个文本字段上单击或按下 TAB 前进到第二个文本字段。不过,如果将其他字符串输入到第一个文本字段中,则用户无法将焦点转移到第二个文本字段。
 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);
     }
 }
 
| 构造方法摘要 | |
|---|---|
| InputVerifier() | |
| 方法摘要 | |
|---|---|
|  boolean | shouldYieldFocus(JComponent input)调用 verify(input)来确保输入是有效的。 | 
| abstract  boolean | verify(JComponent input)检查 JComponent 的输入是否有效。 | 
| 从类 java.lang.Object 继承的方法 | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| 构造方法详细信息 | 
|---|
public InputVerifier()
| 方法详细信息 | 
|---|
public abstract boolean verify(JComponent input)
input - 要验证的 JComponent
true,在无效时返回 falseJComponent.setInputVerifier(javax.swing.InputVerifier), 
JComponent.getInputVerifier()public boolean shouldYieldFocus(JComponent input)
verify(input) 来确保输入是有效的。此方法可以有副作用。需要特别指出的是,在用户试图将焦点移出参数组件进入此窗口中的另一个 Swing 组件时调用此方法。如果此方法返回 true,那么正常转移焦点;如果该方法返回 false,则焦点仍然留在参数组件中。
input - 要验证的 JComponent
true,在无效时返回 falseJComponent.setInputVerifier(javax.swing.InputVerifier), 
JComponent.getInputVerifier()| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。