我已经花了 5 个小时,不知道为什么运行 Jar 时没有加载图像。
项目结构:
Blackjack_Game
- Source Packages
- Images
- blackjack
.... classes...
在项目属性中,我默认添加了 src - 源包文件夹。尝试将图像直接放入项目文件夹并删除/Images/,但仍然没有帮助。
在我的代码中:
dealer_url = getClass().getResource("/Images/4_of_hearts.jpg");
File img = new File(dealerCardGenerator.dealer_url.getPath());
BufferedImage bufferedImage = ImageIO.read(img);
dealerCardGenerator.imageIcon = new ImageIcon(bufferedImage);
所以在 NetBeans IDE 中一切正常。全力工作。但是在built&clean之后我看不到任何图像,但所有操作都已完成。
您能否提出问题所在?因为这个而生气((((
最佳答案
jar 条目不是文件。 java.io.File
只能识别文件,不能识别jar条目。 java.net.URL
但是可以使用jar:
方案识别jar条目,或使用文件:
方案。这就是为什么 Class.getResource()
返回 URL
而不是 File
。
两种解决方案:
使用
URL
:ImageIO.read(getClass().getResource("whatever"))
ImageIO
还可以使用已打开的流,类加载器可以提供:ImageIO.read(getClass().getResourceAsStream("whatever"))
至少重复 #2-4 个自动建议的相关问题:
关于java - 运行 JAR 时图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654243/