【发布时间】:2020-06-18 14:39:24
【问题描述】:
我正在尝试使用从 URL 获取的图像设置 JButton ImageIcon。这是我的代码:
try{
URL imageFile=new URL(picturePath);
carPic=ImageIO.read(imageFile);
picturePane.setIcon(new ImageIcon(carPic));//this line gives the exception
}catch(IOException e){
e.printStackTrace();
}
其中“picturePath”是图片的 URL。
我打算使用的 URL 只是通过“复制图像地址”获得的正常 URL,并读取为:“https://www.topgear.com/sites/default/files/544822_0.jpg”
我是否必须对 URL 做一些事情才能使它们正常工作,或者代码本身是否存在其他问题?
【问题讨论】:
-
ImageIO生成NullPointerException是不寻常的,因为 URL 内容无效 - 如果它无法读取 URL,它通常会抛出某种类型的IOException- 我的怀疑是picturePath或picturePane实际上是null- 哪一行生成 NPE? -
您使用指定 URL 读取图像的代码工作正常 - 我怀疑您的问题在其他地方
-
请添加记录的错误消息和堆栈跟踪,以帮助其他用户了解问题可能出在哪里。
-
@MadProgrammer 帖子经过编辑以更好地显示生成 NPE 的内容。
picturePath是一个字符串,我事先放了一行打印出来,效果很好,所以我知道它不为空。我刚刚对picturePane进行了测试,它确实返回null,所以我会尝试解决这个问题。谢谢。 -
@MadProgrammer 多亏了你,我才开始工作!
标签: java image url nullpointerexception javax.imageio