java - 如何禁止 JTextField 中的特殊字符

标签 java swing validation awt

我试图禁止 JTextField 中出现特殊字符。这是针对我需要进行表单验证的项目。目前我只能允许数字,但不能禁止特殊字符,例如 @#/\。以下是我到目前为止所做的。

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {                                            
    try {
        int i= Integer.parseInt(jTextField2.getText());
    } catch (NumberFormatException e) {
        JOptionPane.showMessageDialog(null, "Please enter Int Value", "Invail Input", JOptionPane.ERROR_MESSAGE);
    }
} 

最佳答案

我认为,您可以使用 JFormattedTextField,而不是添加监听器并仅使用简单的 JTextField。正如 Oracle 文档中所述:

JFormattedTextField - A JTextField subclass that allows you to specify the legal set of characters that the user can enter.

检查以下链接:

关于java - 如何禁止 JTextField 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59677968/

相关文章:

javascript - Vue.js:只允许带一位小数的范围内的数字

java - 没有方法签名:archives.internal.DefaultManifest.srcFile()

java - OOP - 通过实例类的引用变量访问对象

Java:文件菜单点击是否获得焦点?

java - JTextArea 中的 ScrollPane

javascript - 在提交表单之前使用 ajax 验证字段

java - 扩展 Struts 框架的 FilterDispatcher 是一个好的实践吗?

java - 使用 Java 打印 MySQL 表值

java - 如何创建一个包含具有多个值的对象的 JList?例如价格、重量、颜色等

ruby-on-rails - Rails accepts_nested_attributes_for with _destroy 可以跳过存在验证