Swing/VerifyInputWhenFocusTarget のバックアップ(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/VerifyInputWhenFocusTarget へ行く。
- category: swing folder: VerifyInputWhenFocusTarget title: InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動 tags: [JTextField, InputVerifier, Focus] author: aterai pubdate: 2014-03-10T10:15:22+09:00 description: InputVerifierを設定したJTextFieldの値が適切な形式でない場合のフォーカス移動動作をテストします。 image:
概要
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(...)
は呼ばれない)