你如何更改Java程序的Dock图标?

时间:2011-05-15 02:45:21

标签: java macos icons dock

如何在Macintosh平台上用Java更改程序的Dock图标?我听说过使用Apple的Java库(在Mac平台上提供某种额外的支持),但我还没有找到一些实际的例子。

6 个答案:

答案 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)

Java 9及更高版本的解决方案

  

在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。