Java/OS X Lion:设置应用程序名称已停止使用JDK1.7

Bet*_*med 8 java macos swing java-7 osx-lion

我到目前为止使用以下代码在Apple MacBook上设置应用程序名称(在"系统"菜单栏的顶部).(实际上,我认为我是从stackoverflow复制的.)

基本上,有一个单独的AppLauncher类,它在为应用程序本身创建一个新的Runnable之前使用System.setProperty()来设置应用程序名称.

工作得很好.

但是,由于我下载并开始使用JDK 1.7,解决方案停止工作 - 我在菜单中获得了Class Name而不是App Name,就像我找到解决方案之前一样.我试着谷歌搜索它,但无济于事.

以下是过去在JDK 1.6下工作的失效代码,简化为相关部分:

public class AppLauncher {
public static void main(String[] args) {

    System.setProperty("apple.laf.useScreenMenuBar", "true");
    System.setProperty("com.apple.mrj.application.apple.menu.about.name",
                "My Application");
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            new MainWindow();
        }
    });
}
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!

ETA:使用java -Dapple.laf.useScreenMenuBar = true调用仍然有效.将属性设置为Info.plist可能会有效,但我还没有尝试过.

tra*_*god 2

看来使用设置属性-D可以解决问题。

\n\n
java -Dapple.laf.useScreenMenuBar=true \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n

此相关答案中提到了其他方法。

\n