Swing/LabelForDisplayedMnemonic のバックアップ(No.18)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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)
- 14 (2025-01-03 (金) 08:57:02)
- 15 (2025-01-03 (金) 09:01:23)
- 16 (2025-01-03 (金) 09:02:38)
- 17 (2025-01-03 (金) 09:03:21)
- 18 (2025-01-03 (金) 09:04:02)
- category: swing
folder: LabelForDisplayedMnemonic
title: JLabelに設定したニーモニックでフォーカス移動
tags: [JLabel, JTextField, Mnemonic]
author: aterai
pubdate: 2012-08-20T15:34:19+09:00
description: JLabelにニーモニックを設定し、これに関連付けしたJTextFieldへのフォーカス移動を行います。
image:
Summary
JLabel
にニーモニックを設定し、これに関連付けしたJTextField
へのフォーカス移動を行います。
Screenshot

Advertisement
Source Code Examples
JLabel label = new JLabel("Mail Address: ");
label.setDisplayedMnemonic('M');
JTextField textField = new JTextField(12);
label.setLabelFor(textField);
View in GitHub: Java, KotlinExplanation
上記のサンプルではJLabel
にsetDisplayedMnemonic(...)
メソッドを使ってニーモニックを設定し、setLabelFor(...)
メソッドでニーモニックがアクティブになった時にフォーカス移動の対象となるコンポーネントを指定しています。
- 編集不可の
JComboBox
などにはこの方法を使用してもフォーカスが移動しない?- Tabキーなどによるフォーカス移動や
JComboBox#requestFocusInWindow()
を実行した場合のようにならない
- Tabキーなどによるフォーカス移動や
- JLabel#setLabelFor(Component) (Java Platform SE 8)
- 「ニーモニックがアクティブになったときに、
labelFor
プロパティーで指定されているコンポーネントのrequestFocus
メソッドを呼び出します。」
- 「ニーモニックがアクティブになったときに、
- JTextComponent#setFocusAccelerator(char) (Java Platform SE 8)
- ニーモニックを表示する必要がない場合は
JTextComponent
などに直接JTextComponent#setFocusAccelerator(char)
でフォーカスアクセラレータキーを設定することも可能(JLabel#setLabelFor(Component)
と合わせて設定してもどちらも有効)
- ニーモニックを表示する必要がない場合は
Reference
- JLabel#setLabelFor(Component) (Java Platform SE 8)
- JTextComponent#setFocusAccelerator(char) (Java Platform SE 8)