2

我有一个框架,JTextFields上面有一些。当用户从 中退出时,我在 中JTextField执行自定义逻辑FocusTraversalPolicy,它设置一些属性并根据它们FocusTraversalPolicy决定下一步应该关注的位置。到目前为止,一切都很好。

但是我希望每次失去焦点时都执行此自定义逻辑(在 an 中,因为其中也有验证)。JTextFieldInputVerifier

现在的问题和问题:如果用户用鼠标离开字段,InputVerifier将被触发,一切都会好起来的。但是如果用户按下TABFocusTraversalPolicy和都InputVerifier将被触发,并且自定义逻辑将被执行两次,这是我不想要的。我怎样才能检测到InputVerifier已经TAB按下并且不执行任何操作?我只想在鼠标离开该字段时执行自定义逻辑。InputVerifier还是有更好的解决方案?

希望我的问题很清楚。

问候, 佩塔尔

4

1 回答 1

2

如果执行自定义逻辑,我最终设置了一个boolean标志。然后如果它已经执行,我不会再次执行它。然后我重置了标志。FocusTraversalPolicyInputVerifier

于 2011-08-25T08:25:55.820 回答