Swing/TabMnemonic のバックアップ(No.11)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TabMnemonic へ行く。
- 1 (2013-01-17 (木) 15:08:35)
- 2 (2013-05-19 (日) 16:38:44)
- 3 (2013-07-26 (金) 01:33:11)
- 4 (2015-10-20 (火) 17:22:08)
- 5 (2017-04-13 (木) 12:16:00)
- 6 (2018-01-23 (火) 13:22:01)
- 7 (2018-01-25 (木) 18:16:54)
- 8 (2018-06-21 (木) 17:41:48)
- 9 (2019-02-12 (火) 15:29:26)
- 10 (2020-12-03 (木) 10:16:22)
- 11 (2022-08-26 (金) 12:32:48)
- 12 (2022-08-27 (土) 23:46:36)
- category: swing folder: TabMnemonic title: JTabbedPaneのタブにMnemonicを追加 tags: [JTabbedPane, Mnemonic, JLabel] author: aterai pubdate: 2008-09-01T13:22:20+09:00 description: JTabbedPaneのタブにMnemonicを追加します。 image:
概要
JTabbedPane
のタブにMnemonic
を追加します。
Screenshot
Advertisement
サンプルコード
int tabIdx = 3;
tab.addTab("Button", new JButton("button"));
tab.setMnemonicAt(tabIdx, KeyEvent.VK_B);
tab.setDisplayedMnemonicIndexAt(tabIdx, 0);
View in GitHub: Java, Kotlin解説
上記のサンプルコードは、JTabbedPane
の3
番目のタブにJTabbedPane#setMnemonicAt(3, KeyEvent.VK_B)
メソッドを使用してMnemonic
を設定し、Alt+Bのキー入力でそのタブにフォーカス移動が可能になっています。
- タブタイトルの先頭文字(
B
)にアンダーラインが入るようにJTabbedPane#setDisplayedMnemonicIndexAt(...)
メソッドで設定 JDK 6
以降でタブタイトルにComponent
を使用している場合はJTabbedPane#setDisplayedMnemonicIndexAt(...)
メソッドを使用してもMnemonic
にアンダーラインは表示されない- 以下のように追加するコンポーネント側でアンダーラインを表示するための設定が必要
int index = tab.getTabCount(); String tabTitle = "label(0)"; JPanel p = new JPanel(new BorderLayout()); JLabel label = new JLabel(tabTitle); JButton button = new JButton("x"); p.add(label, BorderLayout.WEST); p.add(button, BorderLayout.EAST); tab.addTab(tabTitle, new JTree()); tab.setTabComponentAt(index, p); tab.setMnemonicAt(index, KeyEvent.VK_0); label.setDisplayedMnemonic(KeyEvent.VK_0);
- 以下のように追加するコンポーネント側でアンダーラインを表示するための設定が必要
参考リンク
- JTabbedPane#setMnemonicAt(...) (Java Platform SE 8)
- JTabbedPane#setDisplayedMnemonicIndexAt(...) (Java Platform SE 8)