我在Netbeans上创建了一个JavaFX应用程序,我把这个代码用于将图标设置到窗口
primaryStage.getIcons().add(new Image("file:sicadcam.png"));
当我从Netbeans运行项目时,它运行正常:图标出现在窗口和任务栏中。我必须把图像放在哪里。
当我清理和构建项目时,它会生成两个安装程序:一个exe和一个msi;当我安装应用程序并打开它时,窗口没有图标sicadcam.png,它有默认的java徽标图标。
我如何或在何处设置图像的路径,以便在安装应用程序时显示图标。
答案 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"))
。
希望有所帮助。