Mac OSX系统菜单名w/Java?
我有个小问题。最近我在Mac上进行了迁移,我一直在发牢骚,在网上搜索这方面的信息,但还没有找到我真正要搜索的内容。我想在“系统”菜单中设置应用程序名,但该菜单目前不起作用(显示的是我的主类名,而不是我的应用程序名)。我应该修改什么属性 我已经使用正确的apple.laf属性成功地将我的菜单放置在系统菜单栏中,但是我还没有找到我需要的名称 我搜索到Info.plist文档,对此我一无所知。我试着做一个简单的,只会改变应用程序的显示名称,但由于某种原因,它没有工作。帮助?根据,您可以将名称作为java命令的命令行参数传递到虚拟机中,并使用Mac OSX系统菜单名w/Java?,java,macos,plist,Java,Macos,Plist,我有个小问题。最近我在Mac上进行了迁移,我一直在发牢骚,在网上搜索这方面的信息,但还没有找到我真正要搜索的内容。我想在“系统”菜单中设置应用程序名,但该菜单目前不起作用(显示的是我的主类名,而不是我的应用程序名)。我应该修改什么属性 我已经使用正确的apple.laf属性成功地将我的菜单放置在系统菜单栏中,但是我还没有找到我需要的名称 我搜索到Info.plist文档,对此我一无所知。我试着做一个简单的,只会改变应用程序的显示名称,但由于某种原因,它没有工作。帮助?根据,您可以将名称作为jav
-Xdock:name=“{AppName}”
替换{AppName}
,将其显示为菜单栏中的标题
编辑:
我不相信你可以在实际的Java代码中设置它,但是正如Chuck所说,苹果有一个程序Jar绑定器,它被设计成使用你需要的Info.plist创建Jar。根据for it的说明,您需要在“属性”窗格上设置Bundle Name属性以获得所需的内容。尝试使用included属性,它可以为您处理所有这些内容。如果您想了解任何特定功能的工作原理,可以检查Jar Bundler的输出。有两种方法:
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "myAppName!");
设置任何建议的Java(在启动shell脚本中使用-D)属性对我都不起作用,因为它们只适用于AWT和Swing GUI。甚至Mac特有的
-Xdock:
选项也不起作用
你在使用这个项目时做了什么
在菜单的JavaFX控制器中,我添加了以下代码段:
public void initialize() {
if ("Mac OS X".equals(System.getProperty("os.name"))) {
final MenuToolkit tk = MenuToolkit.toolkit();
final Menu defaultMacApplicationMenu = tk.createDefaultApplicationMenu("My App");
tk.setApplicationMenu(defaultMacApplicationMenu);
}
}
现在,不能使用此库设置菜单本身的粗体名称,但您可以在应用程序包的
Info.plist
中控制设置CFBundleDisplayName
。我正在寻找一种从代码中实现它的方法,这并不意味着要摆弄这类东西。最后一个问题通常应该由javapackager自动处理。