Swing/LabelForDisplayedMnemonic のバックアップの現在との差分(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/LabelForDisplayedMnemonic へ行く。
- 1 (2012-08-20 (月) 15:34:19)
- 2 (2012-08-23 (木) 19:41:16)
- 3 (2012-12-07 (金) 18:06:57)
- 4 (2012-12-25 (火) 18:22:24)
- 5 (2013-01-28 (月) 02:06:50)
- 6 (2013-07-26 (金) 01:55:22)
- 7 (2013-08-20 (火) 14:24:58)
- 8 (2015-10-23 (金) 16:55:19)
- 9 (2016-11-29 (火) 13:00:18)
- 10 (2017-11-24 (金) 14:45:57)
- 11 (2019-07-31 (水) 13:56:34)
- 12 (2020-05-25 (月) 01:55:09)
- 13 (2021-11-11 (木) 01:12:09)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JLabelに設定したニーモニックでフォーカス移動 #navi(../) RIGHT:Posted by [[aterai]] at 2012-08-20 *JLabelに設定したニーモニックでフォーカス移動 [#kc4d4813] JLabelにニーモニックを設定し、これに関連付けしたJTextFieldへのフォーカス移動を行います。 --- category: swing folder: LabelForDisplayedMnemonic title: JLabelに設定したニーモニックでフォーカス移動 tags: [JLabel, JTextField, Mnemonic] author: aterai pubdate: 2012-08-20T15:34:19+09:00 description: JLabelにニーモニックを設定し、これに関連付けしたJTextFieldへのフォーカス移動を行います。 image: https://lh4.googleusercontent.com/-c8oDt2QGtY0/UDHQKTuRMGI/AAAAAAAABRQ/dzH-cDi9lEw/s800/LabelForDisplayedMnemonic.png --- * 概要 [#summary] `JLabel`にニーモニックを設定し、これに関連付けした`JTextField`へのフォーカス移動を行います。 -&jnlp; -&jar; -&zip; #download(https://lh4.googleusercontent.com/-c8oDt2QGtY0/UDHQKTuRMGI/AAAAAAAABRQ/dzH-cDi9lEw/s800/LabelForDisplayedMnemonic.png) //#screenshot #ref(https://lh4.googleusercontent.com/-c8oDt2QGtY0/UDHQKTuRMGI/AAAAAAAABRQ/dzH-cDi9lEw/s800/LabelForDisplayedMnemonic.png) **サンプルコード [#gd5c4817] * サンプルコード [#sourcecode] #code(link){{ JLabel label = new JLabel("Mail Adress: "); JLabel label = new JLabel("Mail Address: "); label.setDisplayedMnemonic('M'); JTextField textField = new JTextField(12); label.setLabelFor(textField); }} **解説 [#w4f1950f] 上記のサンプルでは、JLabelにsetDisplayedMnemonic(...)メソッドを使って、ニーモニックを設定し、setLabelFor(...)メソッドでニーモニックがアクティブになった時にフォーカス移動の対象となるコンポーネントを指定しています。 * 解説 [#explanation] 上記のサンプルでは`JLabel`に`setDisplayedMnemonic(...)`メソッドを使ってニーモニックを設定し、`setLabelFor(...)`メソッドでニーモニックがアクティブになった時にフォーカス移動の対象となるコンポーネントを指定しています。 ---- メモ - 編集不可のJComboBoxなどで、この方法ではフォーカスが移動しない? -- タブキーなどによるフォーカス移動やJComboBox#requestFocusInWindow()を実行した場合のようにならない -- [http://docs.oracle.com/javase/jp/6/api/javax/swing/JLabel.html#setLabelFor(java.awt.Component) JLabel#setLabelFor(Component) (Java Platform SE 6)] -- 「ニーモニックがアクティブになったときに、labelFor プロパティーで指定されているコンポーネントの requestFocus メソッドを呼び出します。」 - 編集不可の`JComboBox`などにはこの方法を使用してもフォーカスが移動しない? -- KBD{Tab}キーなどによるフォーカス移動や`JComboBox#requestFocusInWindow()`を実行した場合のようにならない - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JLabel.html#setLabelFor-java.awt.Component- JLabel#setLabelFor(Component) (Java Platform SE 8)] -- 「ニーモニックがアクティブになったときに、`labelFor`プロパティーで指定されているコンポーネントの`requestFocus`メソッドを呼び出します。」 - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/text/JTextComponent.html#setFocusAccelerator-char- JTextComponent#setFocusAccelerator(char) (Java Platform SE 8)] -- ニーモニックを表示する必要がない場合は`JTextComponent`などに直接`JTextComponent#setFocusAccelerator(char)`でフォーカスアクセラレータキーを設定することも可能(`JLabel#setLabelFor(Component)`と合わせて設定してもどちらも有効) //**参考リンク **コメント [#m3543e30] * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JLabel.html#setLabelFor-java.awt.Component- JLabel#setLabelFor(Component) (Java Platform SE 8)] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/text/JTextComponent.html#setFocusAccelerator-char- JTextComponent#setFocusAccelerator(char) (Java Platform SE 8)] * コメント [#comment] #comment #comment