2013-10-25 1 views
1

При использовании java-7 в osx, если я установил горячую клавишу Command + Equals в пункт меню, она вызывается более одного раза, когда я ее запускаю.Command + equals hotkey для java 1.7 в mac osx вызывается более одного раза

Я написал простое приложение для демонстрации этого поведения. Горячая клавиша просто распечатывает системное время в консоли.

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); 
    } 
} 

Не стесняйтесь попробовать код и дайте мне знать, если вы, ребята, испытываете то же самое.

ответ

1

У меня такая же проблема. Однако поведение, похоже, исправлено в Java 1.8, поэтому, похоже, оно исправлено.

 Смежные вопросы

  • Нет связанных вопросов^_^