使用 setMnemonicAt方法
文档中描述
setMnemonicAt
public void setMnemonicAt(int tabIndex, int mnemonic)
-
设置用于访问指定选项卡的键盘助记符。助记符是一个键,在与外观的无鼠标修改键(通常为 Alt)一起使用时,它将激活指定的选项卡。
助记符必须对应于键盘上的单个键,且必须使用
java.awt.event.KeyEvent
中定义的VK_XXX
键代码之一来指定。助记符是不区分大小写的,因此具有对应键代码的键事件将导致铵钮被激活,而不管 Shift 键是否按下。这将更新指定选项卡所显示的助记符属性。
-
-
-
参数:
-
tabIndex
- 助记符引用的选项卡的索引 -
mnemonic
- 表示助记符的键代码
抛出:
-
IndexOutOfBoundsException
- 如果tabIndex
超出了范围(tabIndex < 0 || tabIndex >= tab count
)
-
比如
tabbedPane.addTab("Tab 1", icon, panel1,
"Does nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
实际效果 1 下面是有下划线的,按Alt+1就能切换到Tab1
与此类似,menu和menuitem,button相关 也有助记方法 setMnemonic
JMenu menu = new JMenu("Document");
menu.setMnemonic(KeyEvent.VK_D);
menuBar.add(menu);
JMenuItem menuItem = new JMenuItem("New");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, ActionEvent.ALT_MASK));
menuItem.setActionCommand("new");
menuItem.addActionListener(this);
menu.add(menuItem);
setAccelerator
public void setAccelerator(KeyStroke keyStroke)
- 设置修改键,它能直接调用菜单项的操作侦听器而不必显示菜单的层次结构。UI 负责安装正确的操作。注意,当键入键盘加速器时,不管目前是否显示菜单,它都会运行。
-
-
-
参数:
-
keyStroke
- 将作为加速器的KeyStroke
-