技术开发 频道

Java.lang.NullPointerException的使用

  【IT168 技术文档】今天在调试一个简单的JAVA手机小程序的时候,遇到了一个让我头痛了半天的问题。但最终得以解决,将方法写上,说不定还有一些朋友也遇到了类似的情况。

这个程序是一个关于在手机上显示图片的程序,分成两段:

1、MainCanvas.java部分

内容如下:

import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

 

public class MainCanvas extends Canvas {

public Image m_Image;
MainCanvas(){
   try{
   
    m_Image=Image.createImage("/IM.png");
   
   }
   catch(IOException e){
   
      }
}
protected void paint(Graphics g){
   g.drawImage(m_Image,0,0,Graphics.TOP|Graphics.LEFT);
}

}

2、MyCartoonMidlet.java部分

内容如下:

ukimport javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class MyCartoonMidlet extends MIDlet {

public MainCanvas m_MainCanvas;
public MyCartoonMidlet() {
   // TODO 自动生成构造函数存根
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
   // TODO 自动生成方法存根

}

protected void pauseApp() {
   // TODO 自动生成方法存根
        
}

protected void startApp() throws MIDletStateChangeException {
   m_MainCanvas=new MainCanvas();
   Display.getDisplay(this).setCurrent(m_MainCanvas);
   while(true){
    m_MainCanvas.repaint();
   }

}

}

过程是调用目录下的一个叫做 IIM.PNG的文件

在调试过程中,编译器老是报Java.lang.NullPointerException 的错误,顺藤摸瓜,发现是找不到图片的问题才导致抛出这样的异常。可是我已经把图片放到了程序目录下呀。于是一度认为是编程环境出了问题。可事实并非如此。查找了半天资料才发现,原来图片应该放在verified\classes下,把文件放进去,所有问题都解决了。OK!

0
相关文章