Swing/VerifyInputWhenFocusTarget のバックアップの現在との差分(No.4)
- 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
で値を検証するかを設定をかえてテストしています。
上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に現在フォーカスを持つコンポーネントのInputVerifier
で値を検証するかをテストしています。
-
Default
:-
JButton
のデフォルトで、getVerifyInputWhenFocusTarget()
がtrue
、isFocusable()
もtrue
- すべての
JTextField
の値をクリアし、自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合、警告音が鳴る
-
-
setFocusable(false)
: -
Default
-
JButton
のデフォルトでgetVerifyInputWhenFocusTarget()
がtrue
、isFocusable()
もtrue
- すべての
JTextField
の値をクリアして自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合警告音が鳴る
-
-
setFocusable(false)
setFocusable(false)
を設定- すべての
JTextField
の値をクリアするが、フォーカスは移動しないため、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない)
-
setVerifyInputWhenFocusTarget(false)
:- すべての
JTextField
の値をクリアするが、フォーカスは移動しないためフォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない)
- すべての
-
setVerifyInputWhenFocusTarget(false)
setVerifyInputWhenFocusTarget(false)
を設定- すべての
JTextField
の値をクリアし、自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも、警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない) - すべての
JTextField
の値をクリアして自身にフォーカスが移動するが、フォーカスの存在したJTextField
に入力されている値がInteger
でない場合でも警告音は鳴らない(設定されているInputVerifier#verify(...)
は呼ばれない)