这只是问题的部分答案,因为我无法生成一个独立的包,该包在 Windows 任务栏中显示已安装应用程序的图标。我可能错过了一个步骤,遇到了环境问题,或者独立应用程序的图标配置可能有点错误,可能会在以后的版本中修复。测试在:jdk7u21、NetBeans 7.3、Win7、InnoSetup。
从资源而不是文件中获取图标图像。
例如,如果您将图像放在应用程序类的源目录中:
new Image(MyApplication.class.getResource("sicadcam.png").toExternalForm());
对于已安装的应用程序,这只会设置显示在屏幕左上角的图标。要设置任务栏、桌面等的图标,请按照JavaFX 部署指南的自包含打包部分中的说明进行操作,应该可以让您到达那里。
例如,要在我的 Windows 7 上为我的独立应用程序获取安装程序的图标,我需要将图标放在一个<netbeansprojectdir>/package/windows/<myappname>.ico
(需要是 .ico 以便安装程序打包程序拾取它)文件中并确保我的 ant 路径已按照如何更改 JavaFx 本机 Bundle exe 图标中的详细说明正确配置(希望在以后的 NetBeans/JavaFX 版本中不需要手动配置 ant)。
从 Oracle下载Ensemble 示例应用程序,并查看包目录是如何为平台特定图标布置的。不幸的是,当我尝试从命令行构建 Ensemble 时,当 Ensemble 安装并作为独立应用程序执行时,我也无法让 Windows 7 使用任务栏中的 Ensemble 图标。
确保您的构建系统将您的图标复制到包含您的应用程序的 jar 文件中。要检查这一点,请切换到已安装应用程序的 app 目录并运行jar tvf <yourappjar>.jar
=> 它应该会显示 jar 中图标资源文件的位置。