-
Bug
-
Resolution: Fixed
-
P2
-
9
-
b120
-
b124
Run the code below. Press "Menu->Menu Item" in the Apple menu bar. The action listener is not called and the "Menu is pressed!" string is not pressed.
-----------
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
public class ClickMenuTest {
public static void main(String[] args) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
SwingUtilities.invokeLater(ClickMenuTest::createAndShowGUI);
}
private static void createAndShowGUI(){
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
JMenuItem menuItem = new JMenuItem("Menu Item");
menuItem.addActionListener((e) ->{
System.out.println("Menu is pressed!");
});
menu.add(menuItem);
menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setVisible(true);
}
}
-----------
-----------
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
public class ClickMenuTest {
public static void main(String[] args) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
SwingUtilities.invokeLater(ClickMenuTest::createAndShowGUI);
}
private static void createAndShowGUI(){
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
JMenuItem menuItem = new JMenuItem("Menu Item");
menuItem.addActionListener((e) ->{
System.out.println("Menu is pressed!");
});
menu.add(menuItem);
menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setVisible(true);
}
}
-----------
- relates to
-
JDK-8163357 [macosx] Accelerator doesn't work in application without windows
-
- Closed
-