Macos Mac OS上的菜单栏位于错误的位置(窗口中)。Netbeans平台应用程序

Macos Mac OS上的菜单栏位于错误的位置(窗口中)。Netbeans平台应用程序,macos,osx-lion,menubar,netbeans-platform,netbeans-7.1,Macos,Osx Lion,Menubar,Netbeans Platform,Netbeans 7.1,我正在Netbeans平台7.1中构建应用程序,问题是当我在Mac OS(Lion)上运行时,菜单栏在窗口中,而不是桌面的顶部 问题出在哪里?确保: a) -J-Dapple.laf.useScreenMenuBar=true-J-Dapple.awt.graphics.UseQuartz=true包含在“etc/netbeans.conf”设置文件中。这使得平台能够正确放置菜单 b) 在“平台”集群中包括“Apple应用程序菜单”模块,以及“窗口系统API”及其依赖项 干杯, Antonio您

我正在Netbeans平台7.1中构建应用程序,问题是当我在Mac OS(Lion)上运行时,菜单栏在窗口中,而不是桌面的顶部

问题出在哪里?

确保:

a) -J-Dapple.laf.useScreenMenuBar=true-J-Dapple.awt.graphics.UseQuartz=true包含在“etc/netbeans.conf”设置文件中。这使得平台能够正确放置菜单

b) 在“平台”集群中包括“Apple应用程序菜单”模块,以及“窗口系统API”及其依赖项

干杯,
Antonio

您要么必须切换回Java 6,以便使用Apple的实现,要么必须耐心等待OpenJDK完成其任务

编辑: 安装了OpenJDK 1.7的最新macportpreview。但是我的基于netbeans平台的应用程序仍然没有使用apple菜单栏。然后做了一个小的Swing应用程序,它确实使用了apple菜单栏。所以这是可能的。在多个位置尝试了使用netbeans.conf的几种方法,但都无济于事。然而,以下方法确实有效。在我的netbeans平台应用程序的一个核心模块中,我allready有一个模块安装程序。因此,我更改了restored函数以包含以下行:

@Override
public void restored() {
    if (System.getProperty("os.name").equals("Mac OS X")) {
        System.setProperty("apple.laf.useScreenMenuBar", "true");
    }
}

这可能是由于使用Java 7造成的,因为它还不支持Aqua,而是使用X11。@Eelke your'e right。我在JDK7上。有什么解决办法吗?谢谢你的回复!是的,苹果应用程序菜单被打开了,但当我打开它时,一切都没有改变(创建了干净的版本)。**窗口系统API**被打开了。而且我根本没有
/etc/netbeans.conf
文件。我应该创建它吗?顺便说一下,IDE的菜单栏显示正确。也许我可以查看一些日志?安装时会在应用程序目录中创建etc/netbeans.conf。但您发布的链接后面的页面显示屏幕菜单栏已完成(绿色勾选)。如果是这样的话,你知道我是否可以使用JDK7,或者我需要获取一些最新的代码并自己编译它吗?