У меня есть рамка с некоторыми JTextFields
. Когда пользователь выходит из JTextField
, я выполняю настраиваемую логику в FocusTraversalPolicy
, которая устанавливает некоторые свойства и на их основе FocusTraversalPolicy
решает, куда направить фокус дальше. Пока все хорошо.
Но я хочу, чтобы эта пользовательская логика выполнялась каждый раз JTextField
теряет фокус (в InputVerifier
, поскольку в нем также есть проверка).
Теперь проблема и вопрос: если пользователь покидает поле мышью, InputVerifier
сработает и все будет хорошо. Но если пользователь нажмет TAB
, сработают и FocusTraversalPolicy
, и InputVerifier
, и пользовательская логика будет выполнена дважды, чего я не хочу. Как я могу обнаружить в InputVerifier
, что TAB
уже нажата, и ничего не выполнять? Я хочу выполнить пользовательскую логику в InputVerifier
только тогда, когда поле оставлено с помощью мыши. Или есть лучшее решение?
Надеюсь, мой вопрос ясен.
С уважением, Петар