Swing/VerifyInputWhenFocusTarget の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/VerifyInputWhenFocusTarget へ行く。
- 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: https://lh4.googleusercontent.com/-0s6ChUywZz8/Ux0P0IVi99I/AAAAAAAACBY/8hZOhY0SCI4/s800/VerifyInputWhenFocusTarget.png --- * 概要 [#summary] `InputVerifier`を設定した`JTextField`の値が適切な形式でない場合のフォーカス移動動作をテストします。 #download(https://lh4.googleusercontent.com/-0s6ChUywZz8/Ux0P0IVi99I/AAAAAAAACBY/8hZOhY0SCI4/s800/VerifyInputWhenFocusTarget.png) * サンプルコード [#sourcecode] #code(link){{ button2.setVerifyInputWhenFocusTarget(false); }} * 解説 [#explanation] 上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に現在フォーカスを持つコンポーネントの`InputVerifier`で値を検証するかをテストしています。 - `Default`: - `Default` -- `JButton`のデフォルトで`getVerifyInputWhenFocusTarget()`が`true`、`isFocusable()`も`true` -- すべての`JTextField`の値をクリアして自身にフォーカスが移動するが、フォーカスの存在した`JTextField`に入力されている値が`Integer`でない場合警告音が鳴る - `setFocusable(false)`: - `setFocusable(false)` -- `setFocusable(false)`を設定 -- すべての`JTextField`の値をクリアするが、フォーカスは移動しないためフォーカスの存在した`JTextField`に入力されている値が`Integer`でない場合でも警告音は鳴らない(設定されている`InputVerifier#verify(...)`は呼ばれない) - `setVerifyInputWhenFocusTarget(false)`: - `setVerifyInputWhenFocusTarget(false)` -- `setVerifyInputWhenFocusTarget(false)`を設定 -- すべての`JTextField`の値をクリアして自身にフォーカスが移動するが、フォーカスの存在した`JTextField`に入力されている値が`Integer`でない場合でも警告音は鳴らない(設定されている`InputVerifier#verify(...)`は呼ばれない) * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/1.4/guide/swing/1.3/InputChanges.html 入力の検証] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JComponent.html#setVerifyInputWhenFocusTarget-boolean- JComponent#setVerifyInputWhenFocusTarget(boolean) (Java Platform SE 8)] * コメント [#comment] #comment #comment