osx で Java-7 を使用しているときに、ホットキー Command + Equals をメニュー項目に設定すると、トリガー時に複数回呼び出されます。
この動作を示す簡単なアプリケーションを作成しました。ホットキーは、コンソールにシステム時間を出力するだけです。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class newWindow {
static JFrame newWindow;
public static void main(String args[]) {
new newWindow().createWindow();
}
public static void createWindow() {
newWindow = new JFrame("Window1");
//Where the GUI is created:
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;
//Create the menu bar.
menuBar = new JMenuBar();
newWindow.setJMenuBar(menuBar);
newWindow.setVisible(true);
//Build the first menu.
menu = new JMenu("A Menu");
menuBar.add(menu);
//a group of JMenuItems
menuItem = new JMenuItem("A text-only menu item");
menuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
System.out.println(System.currentTimeMillis());
}
});
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
menu.add(menuItem);
}
}
お気軽にコードを試してみて、同じことが発生した場合はお知らせください。