Swing/LabelForRequestFocus のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/LabelForRequestFocus へ行く。
- 1 (2020-05-25 (月) 18:26:02)
- 2 (2021-11-10 (水) 12:42:16)
- category: swing folder: LabelForRequestFocus title: JLabelがクリックされたらこれに割り当てられているコンポーネントにフォーカスを移動する tags: [JLabel, Focus, MouseListener] author: aterai pubdate: 2020-05-25T18:25:26+09:00 description: JLabelがマウスでクリックされたらこのラベルに割り当てられているコンポーネントにフォーカスを移動します。 image: https://drive.google.com/uc?id=1BInMW2eZh0dX_W7qu-ZUCa11qjYC3woq
概要
JLabel
がマウスでクリックされたらこのラベルに割り当てられているコンポーネントにフォーカスを移動します。
Screenshot
Advertisement
サンプルコード
MouseListener focusHandler = new MouseAdapter() {
@Override public void mouseClicked(MouseEvent e) {
Component c = ((JLabel) e.getComponent()).getLabelFor();
if (c != null) {
c.requestFocusInWindow();
}
}
};
JLabel label1 = new JLabel("Mail Address:", SwingConstants.RIGHT);
label1.addMouseListener(focusHandler);
label1.setDisplayedMnemonic('M');
Component textField1 = new JTextField(12);
label1.setLabelFor(textField1);
View in GitHub: Java, Kotlin解説
JLabel#setLabelFor(...)
メソッドでJLabel
にコンポーネントを割り当て- ニーモニックがアクティブになるとフォースが割り当てられたコンポーネントに移動
JLabel
にMouseListener
を設定してマウスでJLabel
がクリックされた場合も同様にフォースを割り当てられたコンポーネントに移動