首页 > Java > java教程 > 如何将 JTextField 输入限制为仅正整数?

如何将 JTextField 输入限制为仅正整数?

Barbara Streisand
发布: 2024-12-12 21:18:15
原创
141 人浏览过

How to Restrict JTextField Input to Positive Integers Only?

将 JTextField 输入限制为整数

要将 JTextField 中的输入限制为正整数,建议使用 DocumentFilter 而不是 KeyListener。 DocumentFilter 提供了处理各种输入场景的更全面的解决方案。

DocumentFilter 实现

可以实现 DocumentFilter 以在插入时验证输入。此示例过滤器 MyIntFilter 检查输入的文本以确保其表示有效的整数:

class MyIntFilter extends DocumentFilter {
    ...
    private boolean test(String text) {
        try {
            Integer.parseInt(text);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }
    ...
}
登录后复制

此过滤器检查输入文本是否可以解析为整数。如果有效,则允许插入。否则,它会阻止插入。

应用 DocumentFilter

要将过滤器应用到 JTextField,请使用 setDocumentFilter 方法:

PlainDocument doc = (PlainDocument) textField.getDocument();
doc.setDocumentFilter(new MyIntFilter());
登录后复制

使用的优点DocumentFilter

  • 处理各种输入场景,包括粘贴和剪切/复制操作。
  • 允许复杂的输入验证,例如检查数字限制或特定数据格式。
  • 通过将输入验证保留在单独的类中来简化代码。

以上是如何将 JTextField 输入限制为仅正整数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板