java - Swing:单击特定按钮时忽略文本框焦点丢失事件

标签 java swing jtextcomponent documentlistener focuslistener

我有一个 swing 文本框,其中包含在 focuslost 事件上验证的值。 该表单还有许多其他控件,包括取消按钮。 我希望跳过验证,以防由于单击取消按钮而失去焦点。 如何做到这一点?

最佳答案

我建议删除对 focusLost 执行验证的代码,并在 DocumentListener 中实现验证,或者选择 JFormattedTextField它具有内置验证。

另外,从用户的角度来看,我更喜欢即时验证而不是焦点丢失。当我开始打字时,很高兴看到您的输入何时变得不正确。此外,您可以选择在输入无效时禁用“确定”按钮,而仅启用“取消”按钮。当然,这要求您的验证不会弹出消息,而只是在输入字段中/旁边添加指示

关于java - Swing:单击特定按钮时忽略文本框焦点丢失事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577002/

相关文章:

java - 是否可以在收到请求正文之前拦截请求

java - 使用Weka : Can Training Data be of Multiple Length?

java - 如何使用 GridBagLayout 和 GridLayout 实现最佳对齐?

java - JCheckBox不触发isselect

java - 如何设置我的请求焦点事件监听器线程安全?

java - 在 Java VM 中,如何处理对象引用

java - 线程背后的逻辑

java - 实现前获取JPanel的大小

java - 使 JTextArea 的一部分不可编辑(而不是整个 JTextArea!)

java - 在java swing中浏览html文件