public abstract class InputVerifier extends Object
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の入力が有効かどうかを確認します。
|
public abstract boolean verify(JComponent input)
input
- 検証するJComponenttrue
、無効な場合はfalse
JComponent.setInputVerifier(javax.swing.InputVerifier)
, JComponent.getInputVerifier()
public boolean shouldYieldFocus(JComponent input)
verify(input)
を呼び出して入力が有効であることを確認します。このメソッドには副作用があります。特にこのメソッドが呼び出されるのは、ユーザーが引数コンポーネントからこのウィンドウにある別のSwingコンポーネントにフォーカスを進めようとしたときです。このメソッドがtrue
を返すと、フォーカスは正常に移動します。false
を返すと、フォーカスはその引数コンポーネントにとどまります。input
- 検証するJComponenttrue
、無効な場合はfalse
JComponent.setInputVerifier(javax.swing.InputVerifier)
, JComponent.getInputVerifier()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.