这两天在搞一东东,里面有
img=createImage(imgwidth,imgheight);
imgg=img.getGraphics();
这样的语句,可是会出现NullPointerException,下面的是我所找到最好的答案...
dz00H wrote:
Exception會印出呼叫堆疊裡的內容,並告訴你錯在第幾行,
以你的例子來講:
Exception in thread "main" java.lang.NullPointerException
at Move.<init>(Move.java:13)
at Move.main(Move.java:34)
是錯在Move物件的建構子中(在Move.java這個檔案的第13行),
然後我們可以去看看那裡出了什麼事:
offg = off.getGraphics();
java.lang.NullPointerException會出現的原因,是因為對著是null的物件作存取、操作
這一行裡唯一被操作的物件就是off了,所以我們可以知道
「因為off在這裡是null,所以出了這個java.lang.NullPointerException」
為什麼off會是null呢?
因為你用的createImage()方法,它並不是同步的方法。
也就是說,這個createImage並不會等到Image真正產生才繼續往下執行,
這其實是為了效率使然,最早這個方法是為了Applet存取網路資源時進行加速,
但是也造成相當多的困擾。
我建議你在這邊改用java.awt.image.BufferedImage,
它的建構子是公開的,你可以自己new一個出來作為DoubleBuffer。
off 變數的值是 null 不是因為 createImage() method 不是同步 method,而是一個 non-displayable 的 component,createImage 操作無法使用(因為無法在未成為 displayable 之前達成),在未成為 displayable 前,一個 component 的 createImage() method 只會傳回 null。
至於你提到使用到 image 時才會存取資源這個是 Image object 的特性,但是 createImage() 回傳的 image object 反而比較接近 BufferedImage,是直接 allocate 一塊記憶體來存放 pixel data。
分享到:
相关推荐
java 出现NullPointerException的原因及解决办法 日常开发过程中,最常见的异常莫过于NullPointerException,之前的时候,只是知道去找到报错的位置,然后去解决它,最近有空学习C语言,就去深究了下...
java 空指针异常(NullPointerException) java 空指针异常(NullPointerException)
Excel文件读取时NullPointerException 异常处理
主要介绍了java 避免出现NullPointerException(空指针)的方法总结的相关资料,需要的朋友可以参考下
java.lang.NullPointerException错误解决办法 ,很不错的文档
java.lang.NullPointerException的可能原因及处理.docx
java中常见的NullPointerException异常.pdf
启动Tomcat时出现了下面的这种错误,找了很久的原因终于知道是因为tomcat和jdk要放在任意一个盘的根目录下面,而不能是放在 而不能放在某个盘根目录下的子目录里面,最好是放在C盘的根目录下面(比如C:\tomcat-...
主要介绍了Java中避免NullPointerException的方法总结的相关资料,需要的朋友可以参考下
主要介绍了java.lang.NullPointerException出现的几种原因及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
java中常见的NullPointerException异常[归类].pdf
主要介绍了详解Java中NullPointerException异常的原因详解以及解决方法。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.ImageView.setImageResource(int)’ on a null object reference 今天在家练习ListView的时候,遇到一个java.lang....
主要介绍了Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException的相关资料,需要的朋友可以参考下
安装了aptana插件,已经被我破解了,使用都很正常,但是每次启动Myeclipse的时候都会报一个错误java.lang.NullPointerException,虽然不影响开发,但是每次启动都报一个错误,看起来就是非常的不爽,对于完美主义者来说只要...
mybatis并发执行时出现NullPointerException共2页.pdf.zip
主要介绍了Java14发布了,再也不怕NullPointerException了,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
实用开发工具Myeclipse,在启动tomcat时,不间断的会弹出 An internal error occurred during: "Calculating completion proposals...". java.lang.NullPointerException的错误对话框!
NullPointerException 目标 目前暂时先以搭建一个完整的博客为主 关于配置 在resources的根目录下创建application-global.yml文件然后根据的配置的变量创建相关的变量即可。 application.yaml application-dev....