|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.swing.InputVerifier
public abstract class 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、無効な場合は 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 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。