我正在Netbeans Platform 7.1中构建应用程序,问题是当我在Mac OS(Lion)上运行它时,菜单栏在窗口中,而不是在桌面顶部。
问题出在哪里?
您要么必须切换回Java 6以便使用Apple的实现,要么必须耐心等待OpenJDK完成其端口。
编辑:已安装OpenJDK 1.7的最新macportpreview。但是我的基于netbeans平台的应用程序仍然没有使用apple菜单栏。然后制作了一个小型Swing应用程序,它确实使用了苹果菜单栏。所以这是可能的。在几个地方尝试了netbeans.coff的一些功能,但都无济于事。然而,以下内容确实奏效了。在我的netbeans平台应用程序的一个核心模块中,我已经准备好了一个ModuleInstaller。因此,我更改了恢复的函数,使其包含以下行:
@Override
public void restored() {
if (System.getProperty("os.name").equals("Mac OS X")) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
}
}
确保:
a) -J-Dapple.laf.useScreenMenuBar=true-J-Daple.awt.graphics.UseQuartz=true包含在"etc/netbeans.conf"设置文件中。这使得平台能够正确放置菜单。
b) 您将在"平台"集群中包含"Apple应用程序菜单"模块,以及"Window System API"及其依赖项。
干杯,Antonio