在 Netbeans 使用的 Java 桌面应用程序模板中,使用 JMenuBar 和 JMenuItems 创建了一个菜单栏。
我怎样才能让那个栏显示在顶部,菜单栏显示在 MacOSX 中而不是在窗口中,就像在 Windows 中一样?
通过在您的代码中添加类似这样的内容:
if (System.getProperty("os.name").contains("Mac")) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
}
我遇到了同样的问题,但我意识到需要将 MenuBar 添加到框架中:
frame.setJMenuBar(menuBar);
而不是:frame.add(jMenuBar); 连同:System.setProperty("apple.laf.useScreenMenuBar", "true"); 在主要方法中。
即使在 OS X 下,Java 应用程序看起来也像传统的 Java 应用程序。
如果你想要一个原生的外观和感觉,你必须做一些调整。本系列文章描述了它们。
http://www.oracle.com/technetwork/articles/javase/javatomac-140486.html http://www.oracle.com/technetwork/java/javatomac2-138389.html
这包括设置 Dock 图标和文本,以及与应用程序菜单集成。
我相信带有 XCode 的 OS X“将 jar 包装为应用程序”实用程序会自动设置所有这些属性。