有什么方法可以检测是否取消选择了JTextField,即是否选择了字段,但现在您选择了其他内容。我要这样做的原因是,我想在用户表单尝试提交数据之前检查用户表单中是否存在任何非法字符。如果有一些更简便的方法可以代替我尝试解决的方法,那么我很乐意接受启发。

最佳答案

首先,尽管使用了 FocusAdapter 并覆盖了focusLost(FocusEvent fe),但当JTextField失去焦点时,即会选择另一个组件。

但是,因为您有一个目的:

我想先检查用户表单中是否有非法字符
尝试提交他们的数据

ID建议阅读How to Use the Focus Subsystem - Validating Input

FocusAdapter更好的选项-为验证/限制用户输入而量身定制的:

  • DocumentFilter 。有关示例,请参见herethis变体。
  • InputVerifier 。有关示例
  • ,请参见here
  • JFormattedTextField 。有关示例
  • ,请参见here

    09-09 22:46
    查看更多