有没有某种方法可以检测 JTextField 是否被取消选择,即该字段已被选择,但现在您选择了其他内容。我想要这样做的原因是因为我想在用户尝试提交数据之前检查用户表单中是否有任何非法字符。如果有一些更简单的方法来做到这一点,而不是我试图解决它的方式,我会很乐意接受启发。
起初虽然使用FocusAdapter http://docs.oracle.com/javase/tutorial/uiswing/events/focuslistener.html并覆盖focusLost(FocusEvent fe)
当JTextField
失去焦点,即选择了另一个组件。
然而,因为你有一个目标:
我想在用户表单中检查是否存在非法字符
尝试提交他们的数据
我建议继续阅读如何使用焦点子系统 - 验证输入 http://docs.oracle.com/javase/tutorial/uiswing/misc/focus.html#inputVerification
比一个更好的选择FocusAdapter
- 专为验证/限制用户输入而定制:
-
DocumentFilter http://docs.oracle.com/javase/7/docs/api/javax/swing/text/DocumentFilter.html. See here https://stackoverflow.com/questions/14058505/jtextfield-accept-only-alphabet-and-white-space/14060047#14060047 and this https://stackoverflow.com/questions/14174776/how-to-auto-calculate-input-numeric-values-of-text-field-in-java/14174868#14174868一个例子的变化。
-
InputVerifier http://docs.oracle.com/javase/7/docs/api/javax/swing/InputVerifier.html. See here https://stackoverflow.com/a/11818946/1133011举个例子
-
JFormattedTextField http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html. See here https://stackoverflow.com/questions/11881301/best-way-to-constrain-user-to-enter-a-time-in-a-jtextfield/11881523#11881523举个例子
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)