迄今为止,我使用以下代码在我的 Apple MacBook 上设置应用程序名称(在顶部的“系统”菜单栏中)。(实际上,我想我是从 stackoverflow 复制的。)
基本上,有一个单独的 AppLauncher 类,它使用 System.setProperty() 在为应用程序本身创建新的 Runnable 之前设置应用程序名称。
工作得很好。
但是,自从我下载并开始使用 JDK 1.7 后,该解决方案停止工作 - 我在菜单中获得了类名称而不是应用程序名称,就像在我找到该解决方案之前一样。我尝试用谷歌搜索它,但无济于事。
这是过去在 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();
}
});
}
}
感谢您的建议!
ETA:使用 java -Dapple.laf.useScreenMenuBar=true 调用仍然有效。将属性放入 Info.plist 可能会起作用,但我还没有尝试过。