|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.InputVerifier
このクラスの目的は、クライアントがテキストフィールドと 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. 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
、無効な場合は false
JComponent.setInputVerifier(javax.swing.InputVerifier)
,
JComponent.getInputVerifier()
public boolean shouldYieldFocus(JComponent input)
verify(input)
を呼び出して入力が有効であることを確認します。このメソッドには副作用があります。特にこのメソッドが呼び出されるのは、ユーザが引数コンポーネントからこのウィンドウにある別の Swing コンポーネントにフォーカスを進めようとしたときです。このメソッドが true
を返すと、フォーカスは正常に移動します。false
を返すと、フォーカスはその引数コンポーネントにとどまります。
input
- 検証する JComponent
true
、無効な場合は false
JComponent.setInputVerifier(javax.swing.InputVerifier)
,
JComponent.getInputVerifier()
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.