我在Java中创建了一个应用程序(使用Eclipse IDE),我在代码中引用了存储在名为“source”的源文件夹中的图像,它在IDE中运行良好。当我将jar解压缩到一个可运行的jar时,没有错误,但是图片没有出现,或者如果它只是显示它背后的任何东西。我在WinRar中打开了.jar,看起来这些图片都被类文件抛出。我该如何解决这个问题?
Image i = Toolkit.getDefaultToolkit().getImage("sources/SystemTrayOne.png");
答案 0 :(得分:4)
您正在尝试获取Jar中不存在的文件。而是通过Class#getResource(...)
如,
URL imgUrl = getClass().getResource(....); // resource name here
Image i = Toolkit.getDefaultToolkit().getImage(imgUrl);
或更好
URL imgUrl = getClass().getResource(....); // resource name here
Image i = ImageIO.read(imgUrl);
答案 1 :(得分:2)
示例:XXX xxx = XXXX(example.jpg)更改为.... XXX xxx = XXXX(images / example.jpg)
BOOM !!运行.jar文件时将显示图像。
注意:不要使用java -jar AppName.jar从cmd运行.jar文件而是双击.jar文件,您将看到图像。
如果它对你有用,请亲自投票。 :)