ホームページ >Java >&#&チュートリアル >SwingでTextField値が変更されたときにすぐにメッセージボックスを表示する方法は?

SwingでTextField値が変更されたときにすぐにメッセージボックスを表示する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-23 06:13:30283ブラウズ

How to Show a Message Box Immediately on TextField Value Change in Swing?

TextField Value Change Listener

目標は、テキスト フィールド内の値が変更されるとすぐにメッセージ ボックスを表示することです。ただし、現在のコードでは、Enter キーを押した後にのみメッセージ ボックスが表示されます。この問題を解決するには、基になるドキュメントに注目してテキスト フィールドの変更を追跡します。

解決策:

Swing で導入された JTextFields は、テキストを保存および管理するドキュメントを利用します。コンテンツ。 DocumentListener を追加すると、フィールド内のテキストの変更を監視できるようになります。更新されたコードは次のとおりです。

// Listen for changes in the text
textField.getDocument().addDocumentListener(new DocumentListener() {
    public void changedUpdate(DocumentEvent e) {
        warn();
    }

    public void removeUpdate(DocumentEvent e) {
        warn();
    }

    public void insertUpdate(DocumentEvent e) {
        warn();
    }

    public void warn() {
        if (Integer.parseInt(textField.getText()) <= 0) {
            JOptionPane.showMessageDialog(null,
                    "Error: Please enter number bigger than 0", "Error Message",
                    JOptionPane.ERROR_MESSAGE);
        }
    }
});

DocumentListener を配置すると、フィールド内のテキスト変更によって warn() メソッドがトリガーされ、入力がチェックされ、必要に応じてメッセージ ボックスが表示されます。このようにすると、ユーザーがテキストを変更するとすぐにメッセージ ボックスが表示され、要件が満たされます。

以上がSwingでTextField値が変更されたときにすぐにメッセージボックスを表示する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。