[英]Why does Java return null pointer exception on image all of a sudden?
我一直在尝试通过在面板上绘制BufferedImage来创建可调整大小的图像,并在componentResize发生时重新绘制它。 但是,尽管在早期版本中图像加载良好(要么根本没有调整大小,要么没有正确执行),现在Java声称图像不存在。 代码如下
public class Image extends JPanel{
BufferedImage img=null;
public Image{
try {
img = ImageIO.read(new File("Untitled.png"));
}
catch (IOException e) {
}
Dimension d=getSize();
Graphics g=getGraphics();
g.drawImage(img, 0, 0, d.width, d.height, null);
即使没有组件侦听器,它也会在drawImage上返回NullPointerException。 但是我知道图像不是空的,因为它以前可以工作,这使我想到这里的代码有问题
如果此处出现问题: img = ImageIO.read(new File("Untitled.png"));
然后,您将在此处绘制空参考对象:
g.drawImage(img, 0, 0, d.width, d.height, null);
这就是NPE的原因
这是由于Graphics对象g可能为null。 图形g = getGraphics();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.