我初学J2ME用的是EditPlus和Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC,java程序都已编写好,而且放入src文件夹中了,程序中还用到一张png图片,也已经放入res文件夹中,运行后本以为可以成功实现,岂料竟出现这么一大堆错误!
java.io.IOException
at javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)
at javax.microedition.lcdui.ImmutableImage.<init>(+20)
at javax.microedition.lcdui.Image.createImage(+8)
at PictureCanvas.<init>(+85)
at PictureMidlet.<init>(+20)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
at com.sun.midp.midlet.Selector.run(+22)
Unable to create MIDlet PictureMidlet
java.lang.NullPointerException //空指针异常
at PictureCanvas.<init>(+150)
at PictureMidlet.<init>(+20)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
at com.sun.midp.midlet.Selector.run(+22)
刚开始在以为是startApp()中出现的错误,可是找了半天也没有发现有什么毛病,后来才明白不是这里出错!
继续看错误提示,上面带颜色的代码好像就是错误的根源,特别是深红色的代码!
看了很长时间才觉得是不是图片引入的问题?查看后才明白原来res文件夹中放的不是我要用的图片,比如说,我要用的图片是"/pintu.png",但res文件夹中放的是"pintu.jpg"或者"pinntu.png",不论是格式不对还是名称不对,就会出现这个错误!看来都是粗心惹的祸!
虽然网上还有许多关于空指针的错误原因,但大部分和我遇到的有一点一样,都是粗心所致。
还有一点,以前我遇到问题总是求助于网络,总以为网上有跟我遇到的问题相类似的情况,现在才明白每个人都不一样,犯的错也就不一样,碰到了只是运气,虽说去网上查些资料无可厚非,但去之前还是看一看“他”给你的提示吧,或许答案就在其中!