2

いくつかのフレームがありJTextFieldsます。ユーザーがからタブアウトすると、でカスタムロジックJTextFieldを実行します。これにより、いくつかのプロパティが設定され、それらに基づいて、次にフォーカスを移動する場所が決定されます。ここまでは順調ですね。FocusTraversalPolicyFocusTraversalPolicy

ただし、フォーカスが失われるたびにこのカスタムロジックを実行する必要があります(検証含まれているため、で)。JTextFieldInputVerifier

ここで問題と質問:ユーザーがマウスでフィールドを離れると、InputVerifierがトリガーされ、すべてが正常になります。しかし、ユーザーがを押すと、とのTAB両方がトリガーされ、カスタムロジックが2回実行されます。これは望ましくありません。すでに押されていて何も実行されていないことをどのように検出できますか?フィールドがマウスに残っている場合にのみ、カスタムロジックを実行したいと思います。または、より良い解決策はありますか?FocusTraversalPolicyInputVerifierInputVerifierTABInputVerifier

私の質問が明確であることを願っています。

よろしく、ペタル

4

1 に答える 1

2

カスタムロジックが実行された場合booleanからフラグを設定することになりました。それから、それがすでに実行されている場合、私はそれを再び実行しません。次に、フラグをリセットします。FocusTraversalPolicyInputVerifier

于 2011-08-25T08:25:55.820 に答える