【发布时间】:2009-10-31 14:26:41
【问题描述】:
在 Netbeans 使用的 Java 桌面应用程序模板中,使用 JMenuBar 和 JMenuItems 创建了一个菜单栏。
如何使该栏显示在顶部,其中菜单栏显示在 MacOSX 中而不是在窗口中,就像在 Windows 中一样?
【问题讨论】:
在 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"); 在 main 方法中。
【讨论】:
即使在 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 包装为应用程序”实用程序会自动设置所有这些属性。
【讨论】: