我的程序在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());
您的建议表示赞赏。
问题出在您的路径String中。请改用:
BufferedImage beam = ImageIO.read(this.getClass().getResource("/images/beam.png"));
(注意路径前的/
)
对于记录和如果由于某种原因有人因这种类型的错误而陷入困境,eclipse会改变构建路径并阻止图像路径被打包。
要更改此设置,只需更改right click on the project name
- > Properties
-> Java Build Path
-> Source Tab
并检查包含图像的文件夹是否被排除,如果它只是删除该规则。