从Eclipse运行应用程序时,我的应用程序图标工作正常,但是一旦我将其导出为可运行的jar,就不会出现。
这是我用来设置图标的代码:
try {
setIconImage(ImageIO.read(new File("resources/icons/icon.png")));
}
catch (IOException exc) {
exc.printStackTrace();
}
图标位于名为resources/icons
的源文件夹中。
为什么图标不会包含在导出中?
立即使用网址,而不是使用File
方法查找图标。这很棒!
是否可以更改 - 默认情况下 - 文件的图标?我想我必须使用资源黑客或类似的东西才能改变它。但如果通过代码可以实现,我很乐意学习它!
答案 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());
希望这会有所帮助。