当我将 setAccelerator() 设置为 Control + A 或 Control + P 并运行程序时,它不会检测到击键。
这是代码:
menuItem = new JMenuItem("About");
menuItem.setActionCommand("About");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Event.CTRL_MASK));
menuItem.setMnemonic(KeyEvent.VK_A);
menuItem.addActionListener(this);
menu.add(menuItem);
然后当它被按下时,它应该调用 Action Listener:
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("About")) {
System.out.println("About");
}
}
如果这很重要,我会在 Mac 上的 Eclipse 中运行它。