首页 >Java >java教程 >如何在 Swing 中的 TextField 值更改时立即显示消息框?

如何在 Swing 中的 TextField 值更改时立即显示消息框?

Susan Sarandon
Susan Sarandon原创
2024-12-23 06:13:30322浏览

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

文本字段值更改侦听器

您的目标是在文本字段中的值发生更改时立即显示消息框。但是,您当前的代码仅在按回车键后才会提示消息框。要解决此问题,请关注底层文档以跟踪文本字段更改。

解决方案:

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn