应用程序图标不跟随导出的项目?

时间:2017-01-30 08:51:03

标签: java swing

从Eclipse运行应用程序时,我的应用程序图标工作正常,但是一旦我将其导出为可运行的jar,就不会出现。

这是我用来设置图标的代码:

try {
    setIconImage(ImageIO.read(new File("resources/icons/icon.png")));
}
catch (IOException exc) {
    exc.printStackTrace();
}

图标位于名为resources/icons的源文件夹中。

为什么图标不会包含在导出中?

立即使用网址,而不是使用File方法查找图标。这很棒!

是否可以更改 - 默认情况下 - 文件的图标?我想我必须使用资源黑客或类似的东西才能改变它。但如果通过代码可以实现,我很乐意学习它!

1 个答案:

答案 0 :(得分:1)

您可以使用getResource代替new File(),如下所示:

Icon icon = new ImageIcon(getClass().getResource("resources/icons/icon.png"));

所以你的setIconImage应该是这样的:

setIconImage(new ImageIcon(getClass().getResource("resources/icons/icon.png")).getImage());

如果您的图标退出包装内,您可以这样做:

Icon icon = new ImageIcon(getClass().getResource("/com/icons/icon.png"));

所以你的setIconImage应该是这样的:

setIconImage(new ImageIcon(getClass().getResource("/com/icons/icon.png")).getImage());

希望这会有所帮助。