InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動
Total: 5256
, Today: 1
, Yesterday: 3
Posted by aterai at
Last-modified:
概要
InputVerifier
を設定したJTextField
の値が適切な形式でない場合のフォーカス移動動作をテストします。
Screenshot
Advertisement
サンプルコード
解説
上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に現在フォーカスを持つコンポーネントの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(...)
は呼ばれない)