当我使用 SWT
用 Java
编写的应用程序在 OS X
下运行时,无论是在 Eclipse
下还是从jar
,它在启动板中的名称显示为“java”,如图所示。
在我的代码开头,我调用了 Display.setAppName("MyApp")
,菜单栏和菜单项中的应用程序名称是正确的,它显示为 MyApp
、About MyApp
、Configure MyApp
等。菜单项行为正常,我可以接收和处理适当的事件。
因此,问题仅与启动板中显示的应用程序名称有关。有什么方法可以通过代码设置正确的名称以编程方式显示在启动板中,而无需创建应用程序包?
P. S. 代码实际上在 JVM 下运行,它是在我的代码中使用 ProcessBuilder
启动的:
new ProcessBuilder("java -cp mypath MyClass my args").start();
一种递归,需要在启动应用程序之前以编程方式计算一些 jvm 选项和类路径。
最佳答案
您应该使用您的 jar 创建一个 macOS 应用程序包,您可以在其中将包显示名称放在包的 Info.plist
文件中。这在 Oracle 中有详细记录(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) .
Apple 也记录了 Java 应用程序包的结构:https://developer.apple.com/library/content/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html
关于java - 如何更改 Mac OS X 启动板中显示的 Java 应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319471/