如何在javafx中更改任务栏上的默认java徽标exe图标?

时间:2013-11-27 08:13:58

标签: java windows javafx-2 taskbar

我在Netbeans上创建了一个JavaFX应用程序,我把这个代码用于将图标设置到窗口

primaryStage.getIcons().add(new Image("file:sicadcam.png"));

当我从Netbeans运行项目时,它运行正常:图标出现在窗口和任务栏中。我必须把图像放在哪里。

当我清理和构建项目时,它会生成两个安装程序:一个exe和一个msi;当我安装应用程序并打开它时,窗口没有图标sicadcam.png,它有默认的java徽标图标。

我如何或在何处设置图像的路径,以便在安装应用程序时显示图标。

2 个答案:

答案 0 :(得分:4)

您应该将图标放在jar或类路径中,然后通过资源函数加载它。 例如。如果您将它放在您的bin文件夹中,放入您的课程所在的包中,那么以下内容应该有效:

primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("sicadcam.png")));

答案 1 :(得分:0)

我怀疑图片不是作为资源处理而是没有进入你的Jar文件。你能核实一下吗? (您可以通过Total Commander执行此操作,例如按Ctrl + PgDown进入存档)。

另一个原因可能是NetBeans使用不同的运行配置和类路径。你的形象在哪里?如果它位于包根目录(即包含顶级包的文件夹)中,您可以以某种方式访问​​它:ImageIO.read(getClass().getResourceAsStream("/sicadcam.png"))

希望有所帮助。