我有一个框架,上面有一些JTextFields。当用户从JTextField中退出时,我将在FocusTraversalPolicy中执行自定义逻辑,这将设置一些属性,并且基于这些属性,FocusTraversalPolicy将决定焦点应该放在哪里。到目前一切尚好。
但是,我希望这个自定义逻辑每次JTextField失去焦点时都执行(在InputVerifier中,因为其中也有验证)。
现在问题和问题是:如果用户用鼠标离开字段,InputVerifier就会被触发,一切都会好起来。但是,如果用户按TAB,FocusTraversalPolicy和InputVerifier都将被触发,自定义逻辑将被执行两次,这是我不想要的。如何在InputVerifier中检测到TAB已经被按下,并且什么都不执行?我只想在将字段留给鼠标时才在中执行InputVerifier中的自定义逻辑。还是有更好的解决方案?
希望我的问题很清楚。
你好,佩塔
发布于 2011-08-25 08:25:55
最后,如果执行boolean自定义逻辑,则会从FocusTraversalPolicy中设置标志。然后,在InputVerifier中,如果它已经执行,我就不再执行它。然后我重新设置旗子。
https://stackoverflow.com/questions/7186831
复制相似问题