Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 输入验证基于JTextField的整个内容,而不仅仅是最后键入的字符_Java_User Interface_Validation_Jtextfield - Fatal编程技术网

Java 输入验证基于JTextField的整个内容,而不仅仅是最后键入的字符

Java 输入验证基于JTextField的整个内容,而不仅仅是最后键入的字符,java,user-interface,validation,jtextfield,Java,User Interface,Validation,Jtextfield,有没有一种方法可以根据您在JTextField中键入的内容,在您键入时验证该字段中的文本?我是否应该创建某种类型的keyEventListener,或者是否有方法重写insertString方法,让它这样做。我更喜欢后者,但它只允许您控制键入的最后一个字符,而不是文本字段中已经存在的整个文本字符串。我希望当一个人试图输入一个以上的小数点,而不是将第二个小数点添加到文本字段时,它会发出嘟嘟声 谢谢你的帮助, Erik添加侦听器有什么问题?这就是他们在那里的目的 您可能还想看看JFormattedT

有没有一种方法可以根据您在JTextField中键入的内容,在您键入时验证该字段中的文本?我是否应该创建某种类型的keyEventListener,或者是否有方法重写insertString方法,让它这样做。我更喜欢后者,但它只允许您控制键入的最后一个字符,而不是文本字段中已经存在的整个文本字符串。我希望当一个人试图输入一个以上的小数点,而不是将第二个小数点添加到文本字段时,它会发出嘟嘟声

谢谢你的帮助,
Erik添加侦听器有什么问题?这就是他们在那里的目的


您可能还想看看JFormattedTextField。

我不是反对侦听器,而是insertString方法似乎非常方便,可以检测任何错误的输入。如果我使用的是documentListener这样的监听器,它会不会先将文本放在textField中,然后检测出有错误的内容,然后重新格式化文本并发出嘟嘟声?这感觉像是额外的一步,但可能是我。很可能是的。也许JFormattedTextField处理这个不同的问题。另一种可能是不删除第二个小数点,而是在文本字段周围画一个红色边框,写一条消息或禁用OK按钮(或等效按钮),只要输入无效。如果什么都没发生,我会感到困惑。这可能意味着我没有足够用力地按键盘上的键,我想你是对的。即使我发出了嘟嘟声,人们可能听不到,所以这是我可以考虑的。我查看了JFormattedTextField,它似乎做了您描述的事情:验证并可选地使用一点代码保持对该字段的关注。我仍然很好奇,如果没有什么方法可以根据文本字段中显示内容之前的最后一个字符进行验证,但是我想对于简单的用户输入来说,侦听器已经足够快了。谢谢你的帮助!本网站有很多答案: