JMenuBar位于MacOSX的顶端

时间:2009-10-31 14:26:42

标签: java macos jmenubar

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

如何在顶部显示该栏,其中菜单栏显示在MacOSX中而不是在窗口中,如在Windows中?

3 个答案:

答案 0 :(得分:13)

通过在代码中添加类似内容:

if (System.getProperty("os.name").contains("Mac")) {
  System.setProperty("apple.laf.useScreenMenuBar", "true");
}

答案 1 :(得分: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包装为应用程序”实用程序会自动设置所有这些属性。

答案 2 :(得分:1)

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

frame.setJMenuBar(菜单栏);

而不是: frame.add(jMenuBar); 以及: System.setProperty(“apple.laf.useScreenMenuBar”,“true”); 在主要方法中。