日期:2014-05-20  浏览次数:20849 次

为什么我用createImage却打不开文件
// MyCanvas.java
import java.io.IOException;

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


public class MyCanvas extends Canvas{

private Image img=new Image();
public MyCanvas()
{

try {
img=Image.createImage("/1.png");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
protected void paint(Graphics arg0) {
// TODO Auto-generated method stub
  arg0.setColor(255,0,0);
  arg0.fillRect(0,0,getWidth(),getHeight());
  arg0.setColor(0,0,0);
  arg0.drawString("this is my canvas",0,0,Graphics.LEFT|Graphics.TOP);
  arg0.drawImage(img,getWidth()/2,getHeight()/2,Graphics.VCENTER|Graphics.HCENTER);
}


}

// CanvasDemo.java
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class CanvasDemo extends MIDlet implements CommandListener {

private Display display;
private Command exitCommand;
private MyCanvas mycanvas;

public CanvasDemo() {
// TODO Auto-generated constructor stub
display=Display.getDisplay(this);
exitCommand=new Command("exit",Command.EXIT,1);
mycanvas=new MyCanvas();
mycanvas.addCommand(exitCommand);
mycanvas.setCommandListener(this);
display.setCurrent(mycanvas);
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

public void commandAction(Command arg0, Displayable arg1) {
// TODO Auto-generated method stub
  if(arg0==exitCommand)
  {
  try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  notifyDestroyed();
  }
}

}

------解决方案--------------------
改成这样
img=Image.createImage("/res/1.png"); 
要不你就设置下默认的资源文件夹