Swing/VerifyInputWhenFocusTarget のバックアップソース(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/VerifyInputWhenFocusTarget へ行く。
--- title: InputVerifierを設定したJTextFieldの値が不正な場合のフォーカス移動 tags: [JTextField, InputVerifier, Focus] author: aterai pubdate: 2014-03-10T10:15:22+09:00 description: InputVerifierを設定したJTextFieldの値が適切な形式でない場合のフォーカス移動動作をテストします。 --- * 概要 [#ba666899] `InputVerifier`を設定した`JTextField`の値が適切な形式でない場合のフォーカス移動動作をテストします。 #download(https://lh4.googleusercontent.com/-0s6ChUywZz8/Ux0P0IVi99I/AAAAAAAACBY/8hZOhY0SCI4/s800/VerifyInputWhenFocusTarget.png) * サンプルコード [#nc92d353] #code(link){{ button2.setVerifyInputWhenFocusTarget(false); }} * 解説 [#fe80953b] 上記のサンプルでは、フォーカスが別のコンポーネントに移動する時に、現在フォーカスを持つコンポーネントの`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(...)`は呼ばれない) * 参考リンク [#q7f85429] - [http://docs.oracle.com/javase/jp/1.4/guide/swing/1.3/InputChanges.html 入力の検証] * コメント [#v1ea1018] #comment #comment