[PATCH] 7160951: ActionListener called twice for JMenuItem using ScreenMenuBar

Marco Dinacci marco.dinacci at gmail.com
Tue Sep 4 07:18:03 PDT 2012


Hi Sergey,

> After the changes, shortcuts in the simple awt menu(not swing) continue to
> work?

I don't know if you're referring to some particular example, but this
test case using only AWT works well:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

public class TestAWT extends Frame {

    public TestAWT() {
        MenuBar menuBar = new MenuBar();
        Menu fileMenu = new Menu("Test Menu");
        MenuShortcut shortcut = new MenuShortcut(KeyEvent.VK_L, false);
        MenuItem openItem = new MenuItem("Test Item", shortcut);

        openItem.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("ActionListener was called");
            }
        });
        fileMenu.add(openItem);
        menuBar.add(fileMenu);
        setMenuBar(menuBar);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        System.setProperty("apple.laf.useScreenMenuBar", "true");
        new TestAWT();
    }
}


Best,
Marco


More information about the macosx-port-dev mailing list