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