Macos 在Mac上运行时更改基于JavaFX的应用程序的应用程序名称

Macos 在Mac上运行时更改基于JavaFX的应用程序的应用程序名称,macos,javafx-2,Macos,Javafx 2,请看这张图片: 在应用程序启动后,是否可以在运行时更改Mac OS X系统菜单栏中的应用程序名称(“我的基于JavaFX的Mac应用程序”)? 如果无法在运行时进行更改,有没有办法在应用程序重新启动后进行更改? 我想这个名字来自Info.plist。 该应用程序是使用适用于Mac OS X的JavaFX ant任务构建的 谢谢。这对我来说应该像往常一样有效:D 初级阶段。设置标题(“LOLOLOLOL”) 这会更改窗口的名称。 如果有Stage元素可供使用,则可以随时更改此值。使用时,可以在po

请看这张图片: 在应用程序启动后,是否可以在运行时更改Mac OS X系统菜单栏中的应用程序名称(“我的基于JavaFX的Mac应用程序”)? 如果无法在运行时进行更改,有没有办法在应用程序重新启动后进行更改? 我想这个名字来自Info.plist。 该应用程序是使用适用于Mac OS X的JavaFX ant任务构建的


谢谢。

这对我来说应该像往常一样有效:D

初级阶段。设置标题(“LOLOLOLOL”)

这会更改窗口的名称。 如果有
Stage
元素可供使用,则可以随时更改此值。

使用时,可以在pom.xml中指定它,如下所示:

<plugin>
  <groupId>com.zenjava</groupId>
  <artifactId>javafx-maven-plugin</artifactId>
  <version>8.6.0</version>
  <configuration>
    <appName>Aaa Working Title</appName>
    ...
  </configuration>
  ...
</plugin>

com.zenjava
javafxmaven插件
8.6.0
Aaa职称
...
...

我知道有两种方法可以实现您的目标:

1) 在创建任何阶段之前,从主线程调用
javafx.awt.Desktop.getDesktop

object MYAPP
{
  def main(args: Array[String]) =
  {
    val d = java.awt.Desktop.getDesktop

    // ...optionally, add handlers for interesting desktop events

    javafx.application.Application.launch(classOf[MyApp], args: _*)
  }
}
我相信,除其他外,这将应用程序菜单重命名为MYAPP


2) 使用
javapackager
工具打包您的应用程序。

实际上,您可以使用java命令args轻松地更改它
-Xdock:name=SomeName

这对我来说很好,在Java11定制运行时上启动JavaFX应用程序,并将bash脚本作为本机应用程序

从Oracles Java 10文档中:

-Xdock:name=应用程序名称
覆盖dock中显示的默认应用程序名称。[*]

-Xdock:icon=图标文件的路径
覆盖dock中显示的默认图标

[*]也会影响菜单名

您可以在此处查找“src_macos/tmpl/George.sh”来查看我的完整命令:

对于“关于”对话框,只需执行以下操作:
java.awt.Desktop.getDesktop().setAboutHandler(我的关于处理程序)

在你的处理程序中,打开你想要的任何类型的对话框或窗口。

你是如何让它显示我的基于JavaFX的Mac应用程序的?我找不到如何更改默认值Java。当我在IDE(Eclipse)中运行应用程序时,我也看到了“Java”。为了让它显示自定义名称,我使用javafxant任务构建了一个Mac应用程序包。在Ant构建脚本的标记中,我将name属性设置为“我的基于JavaFX的Mac应用程序”。有关于创建应用程序包的更多信息。非常好,感谢您的帮助。IIRC,我需要一种方法在应用程序启动后在运行时更改它。