javax.swing
クラス InputVerifier
java.lang.Object
|
+--javax.swing.InputVerifier
- public abstract class InputVerifier
- extends Object
このクラスの目的は、クライアントがテキストフィールドと GUI を使って、スムーズなフォーカスナビゲーションを行えるようにサポートすることです。このような GUI では、ユーザがテキストフィールド以外をナビゲートする前に、ユーザが入力したテキストが有効かどうか、つまり適切な形式であるかを確認する必要があります。これを行うには、クライアントが InputVerifier のサブクラスを生成し、JComponent の setInputVerifier
メソッドを使用して、入力の検証を行う 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.
class VerifierTest extends JFrame {
public VerifierTest () {
JTextField tf;
tf = new JTextField ("TextField1");
getContentPane().add (tf, BorderLayout.NORTH);
tf.setInputVerifier(new PassVerifier());
tf = new JTextField ("TextField2");
getContentPane().add (tf, BorderLayout.SOUTH);
addWindowListener (new MyWAdapter ());
}
public static void main (String [] args) {
Frame f = new VerifierTest ();
f.pack();
f.show();
}
class MyWAdapter extends WindowAdapter {
public void windowClosing(WindowEvent event) {
System.exit (0);
}
}
class PassVerifier extends InputVerifier {
public boolean verify(JComponent input) {
JTextField tf = (JTextField) input;
String pass = tf.getText();
if (pass.equals("pass")) return true;
else return false;
}
}
}
- 導入されたバージョン:
- 1.3
クラス 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()
バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。 Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.