JTabbedPane快捷切换

来源:互联网 发布:kevin macleod 知乎 编辑:程序博客网 时间:2024/05/16 07:21

使用 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





0 0
原创粉丝点击