【问题标题】:Swing: Ignore text box focus lost event when specific button clickedSwing:单击特定按钮时忽略文本框焦点丢失事件
【发布时间】:2012-07-19 14:11:58
【问题描述】:

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

【问题讨论】:

  • 您可以随时检查 FocusEvent 的 OppositeComponent,但这通常不是真正可维护的。
  • @Guillaume:你的建议对我有用。哈克且不可维护,但可以解决问题。如果您将其添加为答案,我会接受。

标签: java swing jtextcomponent documentlistener focuslistener


【解决方案1】:

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

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

【讨论】:

  • 在按键上完成某些验证可能会很昂贵。否则,宝贵的建议。
猜你喜欢
  • 2016-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多