为菜单子项定义快捷键有两种方法:
(1)创建菜单子项的同时定义快捷键;
MenuItem item3 = new MenuItem("exit", new MenuShortcut('e'));
(2)为已经存在的菜单子项定义快捷键:
item2.setShortcut(new MenuShortcut('s'));
设置后菜单子项item2对应的快捷键是Ctrl+s;item3对应的快捷键是Ctrl+e。
(1)创建菜单子项的同时定义快捷键;
MenuItem item3 = new MenuItem("exit", new MenuShortcut('e'));
(2)为已经存在的菜单子项定义快捷键:
item2.setShortcut(new MenuShortcut('s'));
设置后菜单子项item2对应的快捷键是Ctrl+s;item3对应的快捷键是Ctrl+e。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class TryF5 extends JFrame{
public TryF5(){
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
System.exit(0);
}
}); Container contentPane = getContentPane();
JMenuBar mb = new JMenuBar();
JMenu menu = new JMenu("Quick");
JMenuItem f5 = new JMenuItem("F5");
f5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("f5");
}
}); KeyStroke ks = KeyStroke.getKeyStroke(KeyEvent.VK_F5,Event.ALT_MASK);
f5.setAccelerator(ks);
f5.setMnemonic(KeyEvent.VK_F5);
mb.add(menu);
menu.add(f5);
setJMenuBar(mb);
setVisible(true);
}
public static void main(String args[]) {
new TryF5().show();
}
}