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