InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動
Total: 2888
, Today: 2
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
InputVerifier
を設定したJTextField
の値が適切な形式でない場合のフォーカス移動動作をテストします。
サンプルコード
button2.setVerifyInputWhenFocusTarget(false);
view all解説
上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に、現在フォーカスを持つコンポーネントのInputVerifier
で値を検証するかを設定をかえてテストしています。
Default
:JButton
のデフォルトで、getVerifyInputWhenFocusTarget()
がtrue
、isFocusable()
もtrue
- すべての
JTextField
の値をクリアし、自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合、警告音が鳴る
setFocusable(false)
:setFocusable(false)
を設定- すべての
JTextField
の値をクリアするが、フォーカスは移動しないため、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない)
setVerifyInputWhenFocusTarget(false)
:setVerifyInputWhenFocusTarget(false)
を設定- すべての
JTextField
の値をクリアし、自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない)