Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 摆动焦点丢失输入验证器_Java_Swing_Focus_Listeners_Inputverifier - Fatal编程技术网

Java 摆动焦点丢失输入验证器

Java 摆动焦点丢失输入验证器,java,swing,focus,listeners,inputverifier,Java,Swing,Focus,Listeners,Inputverifier,我有一个框架,上面有一些JTextFields。当用户从JTextField中跳出标签时,我在FocusTraversalPolicy中执行自定义逻辑,该逻辑设置一些属性,FocusTraversalPolicy根据这些属性决定焦点下一步应该放在哪里。到目前为止还不错 但是我希望每次JTextField失去焦点时(在InputVerifier中,因为其中也有验证),都执行这个自定义逻辑 现在问题和问题:如果用户用鼠标离开字段,InputVerifier将被触发,一切都会好起来。但是,如果用户按下

我有一个框架,上面有一些
JTextFields
。当用户从
JTextField
中跳出标签时,我在
FocusTraversalPolicy
中执行自定义逻辑,该逻辑设置一些属性,
FocusTraversalPolicy
根据这些属性决定焦点下一步应该放在哪里。到目前为止还不错

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

现在问题和问题:如果用户用鼠标离开字段,
InputVerifier
将被触发,一切都会好起来。但是,如果用户按下
选项卡
,则将触发
聚焦反策略
输入验证程序
,并且将执行两次自定义逻辑,这是我不希望看到的。如何在
InputVerifier
中检测到
选项卡已按下且不执行任何操作?仅当鼠标离开字段时,我想在
InputVerifier
中执行自定义逻辑。还是有更好的解决方案

希望我的问题清楚


在这方面,如果执行了自定义逻辑,Petar

我最终从
FocusTraversalPolicy
设置了一个
boolean
标志。然后在
InputVerifier
中,如果已经执行了,我就不再执行它。然后我重置了标志。

hmmm可能同时有(JTextFields)另一个监听器(Focus/Document),删除它并在需要时添加,如何实现notify();请检查并特别阅读,,