setIconImage
没有设置罐子图标。它将针对最小化窗口
的Jframe外观设置图标。
无法在jar文件本身中设置jar图标(控制finder图标和停靠应用程序图标)。您仅
会获得操作系统提供的默认图标。您需要使用OSX的JarBundler 或Windows的Launch4J之
类的工具对其进行包装。
您可以在应用程序运行时设置应用程序停靠图标,请参见com.apple.eawt.Application.setDockIconImage 。
但这并不是完美的,因为当您双击jar时,它会使用通用Java图标在扩展坞中启动,并且
在Java代码开始运行一两跳后,才切换到自定义图标。另外,我认为它不会为未运行的jar设置停靠图标(不是您仍然可以将jar文件拖入停靠-似乎对我不起作用)。
这是一些代码,演示可以设置的不同图像:
import com.apple.eawt.Application;import javax.swing.*;class SetIcon extends Jframe { SetIcon() { setIconImage(new ImageIcon("doc.png").getImage()); Application.getApplication().setDockIconImage( new ImageIcon("app.png").getImage()); } public static void main(String args[]) { SetIcon s = new SetIcon(); s.setVisible(true); }}


