由macOS上的助记键组合触发的下拉菜单

时间:2017-01-08 14:51:57

标签: java macos swing

在macO.S.上,使用本机 Ctrl + Alt + F ) > screen 菜单栏 - 与其他操作系统的标准窗口菜单栏相反 - 在窗口菜单栏中向下放下相应的菜单,而不是在屏幕菜单栏中将其放下。

期望(屏幕菜单栏中的菜单下拉菜单):

expectation

现实(窗口菜单栏中的菜单下拉菜单):

reality

代码:

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Main extends JFrame {
  public static void main(String[] args) {
    new Main();
  }

  public Main() {
    System.setProperty("apple.laf.useScreenMenuBar", "true");  // move the menu bar off the window
    JMenuBar menuBar = new JMenuBar();
    JMenu menu = new JMenu("File");
    JMenuItem menuItem1 = new JMenuItem("New");
    JMenuItem menuItem2 = new JMenuItem("Open");
    JMenuItem menuItem3 = new JMenuItem("Close");
    menu.setMnemonic('F');  // bind <Ctrl> + <Alt> + <F> to dropping the menu down
    menu.add(menuItem1);
    menu.add(menuItem2);
    menu.add(menuItem3);
    menuBar.add(menu);
    setJMenuBar(menuBar);
    setSize(854, 480);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }
}

0 个答案:

没有答案