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