如何在Macintosh平台上用Java更改程序的Dock图标?我听说过使用Apple的Java库(在Mac平台上提供某种额外的支持),但我还没有找到一些实际的例子。
答案 0 :(得分:24)
虽然我不确定如何在运行时更改它,但您可以使用-Xdock:icon
选项在命令行设置Dock图标,例如:
>java -Xdock:icon=/path/myIcon.png myApp
This article有很多有关将Java应用程序引入Mac的有用信息,您可能会对列出的here Mac的实用程序和工具以及列出的部署选项感兴趣{{3 (如果你想沿着Java Webstart路线走下去,那么最后一个链接特别有用)。
答案 1 :(得分:17)
Apple eAWT提供Application类,允许更改应用程序的停靠图标。
import com.apple.eawt.Application;
...
Application application = Application.getApplication();
Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
application.setDockIconImage(image);
答案 2 :(得分:9)
如果您使用Eclipse,则可以将项目导出为Mac OS X Application Bundle并指定.icns文件以用作图标。
在Eclipse中,转到File> Export并选择'Other'目录中的'Mac OS X Application Bundle'选项。
单击下一步按钮
然后,您将看到“应用程序包导出菜单”。
此菜单上的最后一个选项是“图标”。您可以在此处指定.icns文件以用作停靠图标。
Picture of the 2 Eclipse Export Menus
就创建.icns文件而言,您可以使用Apple的Icon Composer从图像文件创建.icns文件。 Here is a good tutorial on making mac icons.
答案 3 :(得分:7)
对于Microsoft Windows
setIconImage(new ImageIcon("Football.png").getImage());
对于Mac OS X
import com.apple.eawt.Application;
Application.getApplication().setDockIconImage(new ImageIcon("Football.png").getImage());
答案 4 :(得分:1)
如果您安装了XCode,则可以使用JarBundler使用Jar文件创建Mac App。如果你没有XCode,你可以使用这个JarBundler:
http://sourceforge.net/projects/jarbundler/
在创建捆绑器期间,您可以在.icns扩展名中选择一个图标。那将是你的Dock Icon。
答案 5 :(得分:1)
在JDK 9中,将不再访问内部API,例如Mac OS X com.apple.eawt软件包中的内部API。
请参阅:http://openjdk.java.net/jeps/272
Set
此代码可以按原样使用。只需更改图像的路径即可。
这种为Mac OS Dock设置图标的新实现方式(在JDK 9+中)比以前更好,因为在构建应用程序时不会遇到任何问题。在Windows计算机上使用此代码也没有问题。不建议使用反射,因为也不需要Java 9。