要分配用于访问JTabbedPane的标签的键盘快捷键,您可以使用类的setMnemonicAt(int tabIndex, int mnemonic)方法JTabbedPane。该tabIndex参数是从零开始的值参数,这意味着第一个选项卡位于索引号0。对于mnenomic参数,可以使用在java.awt.event.KeyEvent类中定义的常量值。
这是一个有关如何为JTabbedPane的标签分配键盘快捷键的示例。要访问选项卡,可以使用ALT+ A,ALT+ B,ALT+C和ALT+D键盘组合。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; public class TabbedPaneKeyboardShortcut extends JPanel { public TabbedPaneKeyboardShortcut() { initializeUI(); } private void initializeUI() { this.setLayout(new BorderLayout()); this.setPreferredSize(new Dimension(500, 200)); JTabbedPane pane = new JTabbedPane(); pane.addTab("A Tab", new JPanel()); pane.addTab("B Tab", new JPanel()); pane.addTab("C Tab", new JPanel()); pane.addTab("D Tab", new JPanel()); pane.setMnemonicAt(0, KeyEvent.VK_A); pane.setMnemonicAt(1, KeyEvent.VK_B); pane.setMnemonicAt(2, KeyEvent.VK_C); pane.setMnemonicAt(3, KeyEvent.VK_D); this.add(pane, BorderLayout.CENTER); } public static void showFrame() { JPanel panel = new TabbedPaneKeyboardShortcut(); panel.setOpaque(true); JFrame frame = new JFrame("JTabbedPane Demo"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(panel); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { TabbedPaneKeyboardShortcut.showFrame(); } }); } }
上面的代码片段的输出是: