Java 如何将焦点侦听器控制在动作侦听器上?

Java 如何将焦点侦听器控制在动作侦听器上?,java,Java,我有一个小组。此面板有一个文本字段和一个按钮。文本字段的焦点侦听器用于搜索某些db值,如果未写入该值,则在选项卡上显示退出显示消息。 但是,当编辑文本字段并单击按钮而不按tab键时,会出现以下顺序: 1) 焦点丢失 2) 动作监听器 问题是调用焦点丢失,操作侦听器应在 编辑到文本字段--->单击按钮(不将选项卡编辑到文本字段) 请分享您的想法好吗?“如果用户在键入某个内容后离开,请在不调用“失去焦点”的情况下调用action listner 好的,首先,你不能让焦点丢失,但是,你可以忽略它 pu

我有一个小组。此面板有一个文本字段和一个按钮。文本字段的焦点侦听器用于搜索某些db值,如果未写入该值,则在选项卡上显示退出显示消息。 但是,当编辑文本字段并单击按钮而不按tab键时,会出现以下顺序: 1) 焦点丢失 2) 动作监听器

问题是调用焦点丢失,操作侦听器应在 编辑到文本字段--->单击按钮(不将选项卡编辑到文本字段)

请分享您的想法好吗?

“如果用户在键入某个内容后离开,请在不调用“失去焦点”的情况下调用action listner

好的,首先,你不能让焦点丢失,但是,你可以忽略它

public void focusLost(FocusEvent evt) {
   if (textField.getText().length() > 0) {
       // call action
   } else {
      // show error message
   }
}
好了,现在我们可以忽略焦点事件了,如何触发动作事件

好吧,令人惊讶的是,这真的很简单

button.doClick();

好吧,我很困惑。如果用户没有键入任何内容就离开该字段,则显示一条消息。如果用户在键入内容后离开,则不执行任何操作或调用操作侦听器???是的,如果用户在键入内容后离开,则调用操作侦听器而不调用失去焦点。