我正在使用Java1.6为Mac编写一个Java Swing应用程序。我已经阅读了许多教程,指导您如何更好地将Java应用程序与OS集成在一起,但有一件事我还没能上手。我无法获取要显示的应用程序名称( Mac菜单栏中第一个加粗的菜单项)。默认情况下,会显示主类的完全限定类名,但我无法更改它。
This site说您必须设置以下属性:
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName");
但这不起作用(我运行的是10.6,所以可能属性名发生了变化?)
当我在XCode (我通常使用Eclipse)中创建一个新的Java项目时,不知何故就神奇地设置了这个名称!(它从一个可运行的样板应用程序开始)我在XCode项目中到处寻找如何做到这一点,但我不能弄明白!
我的猜测是,只有当您将应用程序包装在package包中时,它才会设置应用程序名称,但是我想知道是否有人知道答案。谢谢。
Eclipse :有趣的是,如果我将应用程序打包到一个可运行的JAR文件中,它会设置应用程序名称,但如果我从运行它,就不会设置应用程序名称。
发布于 2010-07-01 09:59:48
在构建GUI之前,您应该在应用程序初始化期间执行以下操作:
// take the menu bar off the jframe
System.setProperty("apple.laf.useScreenMenuBar", "true");
// set the name of the application menu item
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName");
// set the look and feel
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
更新。上面的代码可以在Java 1.5中工作,但在1.6中可能不能工作
有关新的java,请参阅documentation:
在信息属性列表文件(Plist)中使用-Xdock:name
命令行属性:-Xdock:name=YourAppName
CFBundleName
发布于 2013-01-06 02:34:42
在Mac 10.7.5上,以编程方式设置该属性将适用于Java 1.6,但不适用于Java 1.7。
https://stackoverflow.com/questions/3154638
复制相似问题