Java OS X Lion Set 应用程序名称不起作用

2022-09-01 09:51:23

我正在尝试更改OS X菜单栏中显示的应用程序名称,但我无法成功。我已尝试将设置作为main方法中的第一个语句,并使用以下代码:

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

但它不起作用,在菜单栏中显示主要:

ScreenShot

我使用的是 Mac OS X Lion (10.7.2)。

有没有办法更改菜单栏中的应用程序名称?如果是这样,如何?


答案 1

使用 JDK8,可以设置该属性以影响“应用程序”菜单名称。apple.awt.application.name

但是,Martijn Courteaux的警告仍然适用:您必须在加载任何AWT类之前执行此操作。如果 AWT 类位于 的子类中,则会在方法运行之前加载该类。main()JFrame

参考:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/5c1d06cd7d7b/src/macosx/native/sun/osxapp/NSApplicationAWT.m#l157


答案 2

显然,当您将以下选项添加到命令行时,您可以执行以下操作:

-Xdock:name=“Alessio”

虽然 com.apple.mrj.application.apple.menu.about.name 是正确的属性名称,但我认为您设置得太晚了。您是否在命令行上尝试过:

-Dcom.apple.mrj.application.apple.menu.about.name=Alessio

有关编写适用于 OS X 的 Java 应用程序的更多信息:http://www.oracle.com/technetwork/articles/javase/javatomac-140486.html

可能也值得看看这样的东西:http://launch4j.sourceforge.net/