Swing/LabelForDisplayedMnemonic の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/LabelForDisplayedMnemonic へ行く。
- Swing/LabelForDisplayedMnemonic の差分を削除
--- 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 [#summary] `JLabel`にニーモニックを設定し、これに関連付けした`JTextField`へのフォーカス移動を行います。 #download(https://lh4.googleusercontent.com/-c8oDt2QGtY0/UDHQKTuRMGI/AAAAAAAABRQ/dzH-cDi9lEw/s800/LabelForDisplayedMnemonic.png) * Source Code Examples [#sourcecode] #code(link){{ JLabel label = new JLabel("Mail Address: "); label.setDisplayedMnemonic('M'); JTextField textField = new JTextField(12); label.setLabelFor(textField); }} * Explanation [#explanation] 上記のサンプルでは`JLabel`に`setDisplayedMnemonic(...)`メソッドを使ってニーモニックを設定し、`setLabelFor(...)`メソッドでニーモニックがアクティブになった時にフォーカス移動の対象となるコンポーネントを指定しています。 - 編集不可の`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)`と合わせて設定してもどちらも有効) * Reference [#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] #comment #comment