TITLE:JLabelに設定したニーモニックでフォーカス移動

Posted by aterai at 2012-08-20

JLabelに設定したニーモニックでフォーカス移動

JLabelにニーモニックを設定し、これに関連付けしたJTextFieldへのフォーカス移動を行います。

  • &jnlp;
  • &jar;
  • &zip;
LabelForDisplayedMnemonic.png

サンプルコード

JLabel label = new JLabel("Mail Adress: ");
label.setDisplayedMnemonic('M');
JTextField textField = new JTextField(12);
label.setLabelFor(textField);

解説

上記のサンプルでは、JLabelにsetDisplayedMnemonic(...)メソッドを使って、ニーモニックを設定し、setLabelFor(...)メソッドでニーモニックがアクティブになった時にフォーカス移動の対象となるコンポーネントを指定しています。


メモ

  • 編集不可のJComboBoxなどで、この方法ではフォーカスが移動しない?
    • JComboBox#requestFocusInWindow()を実行した場合と異なる
    • JLabel (Java Platform SE 6)
    • 「ニーモニックがアクティブになったときに、labelFor プロパティーで指定されているコンポーネントの requestFocus メソッドを呼び出します。」

コメント