我在Canvas里为何不能drawImage????
看我的原代码。
不能显示。
image.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class image extends MIDlet implements CommandListener {
Display display;
private MyCanvas canvas; //创建MyCanvas对象
private Command exitCommand = new Command("EXIT",Command.EXIT,0);
public image() {
display = Display.getDisplay(this);
canvas = new MyCanvas(this); //生成画布
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
}
public void startApp () {
display.setCurrent(canvas); //显示画布
}
public void destroyApp(boolean unconditional) {
}
public void pauseApp() {
}
public void commandAction(Command c, Displayable s) {
if(c == exitCommand)
destroyApp(true);
notifyDestroyed();
}
}
MyCanvas.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyCanvas extends Canvas{
private MIDlet midlet;
Image m_face;
int m_maxX = getWidth() - 1;
int m_maxY = getHeight() - 1;
int m_prevX = m_maxX/2;
int m_prevY = m_maxY/2;
public MyCanvas(MIDlet midlet){
this.midlet = midlet;
try{
m_face = Image.createImage("test.png");
}catch(Exception e){
m_face = null;
}
}
public void paint(Graphics g){
g.setColor(0xffffff);
g.fillRect(m_prevX - m_face.getWidth()/2,
m_prevY - m_face.getHeight()/2,
m_face.getWidth(),
m_face.getHeight());
g.setColor(0);
//画新图象
g.drawImage(m_face,0,0,Graphics.VCENTER | Graphics.HCENTER);
}
}
极盼高手赐教。谢谢!!!