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 サイトの他の関連記事を参照してください。