JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
クラス InputVerifier

java.lang.Object
  上位を拡張 javax.swing.InputVerifier

public abstract class InputVerifier
extends Object

このクラスの目的は、クライアントがテキストフィールドと GUI を使って、スムーズなフォーカスナビゲーションを行えるようにサポートすることです。このような GUI では、ユーザがテキストフィールド以外の箇所に移る前に、ユーザが入力したテキストが有効かどうか、つまり適切な形式であるかを確認する必要があります。これを行うには、クライアントが InputVerifier のサブクラスを生成し、JComponentsetInputVerifier メソッドを使用して、入力の検証を行う JComponent にサブクラスのインスタンスを接続します。フォーカスを要求する別の Swing コンポーネントにフォーカスを移動する前に、入力ベリファイアの shouldYieldFocus メソッドが呼び出されます。メソッドが true を返した場合にだけフォーカスが移動されます。

次の例では 2 つのテキストフィールドがあり、最初のフィールドでは、ユーザから文字列「pass」が入力されるのを待っています。その文字列が最初のテキストフィールドに入力されると、ユーザは、2 番目のフィールドをクリックするか、Tab を押すことによって 2 番目のテキストフィールドに進むことができます。ただし、最初のテキストフィールドに別の文字列を入力すると、ユーザは 2 番目のテキストフィールドにフォーカスを移動することができません。


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);
}
}

導入されたバージョン:
1.3

コンストラクタの概要
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
 

コンストラクタの詳細

InputVerifier

public InputVerifier()
メソッドの詳細

verify

public abstract boolean verify(JComponent input)
JComponent の入力が有効かどうかを確認します。このメソッドには副作用はありません。引数の入力の状態を示す boolean 型を返します。

パラメータ:
input - 検証する JComponent
戻り値:
有効な場合は true、無効な場合は false
関連項目:
JComponent.setInputVerifier(javax.swing.InputVerifier), JComponent.getInputVerifier()

shouldYieldFocus

public boolean shouldYieldFocus(JComponent input)
verify(input) を呼び出して入力が有効であることを確認します。このメソッドには副作用があります。特にこのメソッドが呼び出されるのは、ユーザが引数コンポーネントからこのウィンドウにある別の Swing コンポーネントにフォーカスを進めようとしたときです。このメソッドが true を返すと、フォーカスは正常に移動します。false を返すと、フォーカスはその引数コンポーネントにとどまります。

パラメータ:
input - 検証する JComponent
戻り値:
有効な場合は true、無効な場合は false
関連項目:
JComponent.setInputVerifier(javax.swing.InputVerifier), JComponent.getInputVerifier()

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。