_fileMenu.setMnemonic(KeyEvent.VK_F);
        _editMenu.setMnemonic(KeyEvent.VK_E);
        _specialMenu.setMnemonic(KeyEvent.VK_S);        // File menu
        JMenuItem[] fileMenuItems = {
            new JMenuItem("Open", KeyEvent.VK_O),
            new JMenuItem("Save", KeyEvent.VK_S),
            new JMenuItem("SaveAs", KeyEvent.VK_A),
            new JMenuItem("Export", KeyEvent.VK_E),
            new JMenuItem("Print", KeyEvent.VK_P),
            new JMenuItem("Close", KeyEvent.VK_C),
        };
        // Open button = ctrl-o.
        fileMenuItems[0].setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK));        // Save button = ctrl-s.
        fileMenuItems[1].setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK));        // Print button = ctrl-p.
        fileMenuItems[4].setAccelerator(
                KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK));或者
JMenuItem
public JMenuItem(String text,
                 int mnemonic)
Creates a JMenuItem with the specified text and keyboard mnemonic. Parameters:
text - the text of the JMenuItem
mnemonic - the keyboard mnemonic for the JMenuItem
要学会查java api doc和搜索

解决方案 »

  1.   

    例:
    ‘关于’菜单项
    AboutMenu.setAccelerator(KeyStroke.getKeyStroke('A',Event.CTRL_MASK));
      

  2.   

    JMenuItem cutItem=new JMenuItem("Cut",'T');
      

  3.   

    我给一个例子:
    //file: DinnerMenu.java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class DinnerMenu extends JFrame {  public DinnerMenu(  ) {
        super("DinnerMenu v1.0");
        setSize(200, 200);
        setLocation(200, 200);    // create the Utensils menu
        JMenu utensils = new JMenu("Utensils");
        utensils.setMnemonic(KeyEvent.VK_U);
        utensils.add(new JMenuItem("Fork"));
        utensils.add(new JMenuItem("Knife"));
        utensils.add(new JMenuItem("Spoon"));
        JMenu hybrid = new JMenu("Hybrid");
        hybrid.add(new JMenuItem("Spork"));
        hybrid.add(new JMenuItem("Spife"));
        hybrid.add(new JMenuItem("Knork"));
        utensils.add(hybrid);
        utensils.addSeparator(  );    // do some fancy stuff with the Quit item
        JMenuItem quitItem = new JMenuItem("Quit");
        quitItem.setMnemonic(KeyEvent.VK_Q);
        quitItem.setAccelerator(
            KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK));
        quitItem.addActionListener(new ActionListener(  ) {
          public void actionPerformed(ActionEvent e) { System.exit(0); }
        });
        utensils.add(quitItem);    // create the Spices menu
        JMenu spices = new JMenu("Spices");
        spices.setMnemonic(KeyEvent.VK_S);
        spices.add(new JCheckBoxMenuItem("Thyme"));
        spices.add(new JCheckBoxMenuItem("Rosemary"));
        spices.add(new JCheckBoxMenuItem("Oregano", true));
        spices.add(new JCheckBoxMenuItem("Fennel"));    // create the Cheese menu
        JMenu cheese = new JMenu("Cheese");
        cheese.setMnemonic(KeyEvent.VK_C);
        ButtonGroup group = new ButtonGroup(  );
        JRadioButtonMenuItem rbmi;
        rbmi = new JRadioButtonMenuItem("Regular", true);
        group.add(rbmi);
        cheese.add(rbmi);
        rbmi = new JRadioButtonMenuItem("Extra");
        group.add(rbmi);
        cheese.add(rbmi);
        rbmi = new JRadioButtonMenuItem("Blue");
        group.add(rbmi);
        cheese.add(rbmi);    // create a menu bar and use it in this JFrame
        JMenuBar menuBar = new JMenuBar(  );
        menuBar.add(utensils);
        menuBar.add(spices);
        menuBar.add(cheese);
        setJMenuBar(menuBar);
      }  public static void main(String[] args) {
        JFrame f = new DinnerMenu(  );
        f.addWindowListener(new WindowAdapter(  ) {
          public void windowClosing(WindowEvent we) { System.exit(0); }
        });
        f.setVisible(true);
      }
    }
    这里的程序用Alt+菜单的首字母可以打开相应的菜单
              用Ctr+菜单项的首字母可以执行相应的菜单项功能,这里用Ctrl+Q来退出程序。