4

在 Netbeans 使用的 Java 桌面应用程序模板中,使用 JMenuBar 和 JMenuItems 创建了一个菜单栏。

我怎样才能让那个栏显示在顶部,菜单栏显示在 MacOSX 中而不是在窗口中,就像在 Windows 中一样?

4

3 回答 3

14

通过在您的代码中添加类似这样的内容:

if (System.getProperty("os.name").contains("Mac")) {
  System.setProperty("apple.laf.useScreenMenuBar", "true");
}
于 2009-10-31T14:32:22.967 回答
4

我遇到了同样的问题,但我意识到需要将 MenuBar 添加到框架中:

frame.setJMenuBar(menuBar);

而不是:frame.add(jMenuBar); 连同:System.setProperty("apple.laf.useScreenMenuBar", "true"); 在主要方法中。

于 2013-01-19T16:07:03.520 回答
3

注意:这是过时的信息 - 需要更新的答案。

即使在 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 包装为应用程序”实用程序会自动设置所有这些属性。

于 2009-10-31T14:43:42.493 回答