使用ImageIO的Java未知来源

问题描述 投票:1回答:2

我的程序在Netbeans中运行良好,但是当我在浏览器中运行我的applet时出现以下错误:

java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)

我打开jar来验证png文件是否正确放置在那里。我不确定为什么以下不起作用(当然是在try块中):

BufferedImage beam = ImageIO.read(this.getClass().getResource("images/beam.png"));

我尝试过以下其他事情,但怀疑问题可能是其他问题。

URL url = this.getClass().getResource("images/beam.png");
BufferedImage beam = ImageIO.read(url.openStream());

您的建议表示赞赏。

java png embedded-resource javax.imageio
2个回答
1
投票

问题出在您的路径String中。请改用:

BufferedImage beam = ImageIO.read(this.getClass().getResource("/images/beam.png"));

(注意路径前的/


0
投票

对于记录和如果由于某种原因有人因这种类型的错误而陷入困境,eclipse会改变构建路径并阻止图像路径被打包。

要更改此设置,只需更改right click on the project name - > Properties-> Java Build Path-> Source Tab并检查包含图像的文件夹是否被排除,如果它只是删除该规则。

© www.soinside.com 2019 - 2024. All rights reserved.