概要

InputVerifierを設定したJTextFieldの値が適切な形式でない場合のフォーカス移動動作をテストします。

サンプルコード

button2.setVerifyInputWhenFocusTarget(false);
view all

解説

上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に、現在フォーカスを持つコンポーネントのInputVerifierで値を検証するかを設定をかえてテストしています。

  • Default:
    • JButtonのデフォルトで、getVerifyInputWhenFocusTarget()trueisFocusable()true
    • すべてのJTextFieldの値をクリアし、自身にフォーカスが移動するが、フォーカスのあったJTextFieldに入力されている値がIntegerでない場合、警告音が鳴る
  • setFocusable(false):
    • setFocusable(false)を設定
    • すべてのJTextFieldの値をクリアするが、フォーカスは移動しないため、フォーカスのあったJTextFieldに入力されている値がIntegerでない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)は呼ばれない)
  • setVerifyInputWhenFocusTarget(false):
    • setVerifyInputWhenFocusTarget(false)を設定
    • すべてのJTextFieldの値をクリアし、自身にフォーカスが移動するが、フォーカスのあったJTextFieldに入力されている値がIntegerでない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)は呼ばれない)

参考リンク

コメント