博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

不想忘却

为了少做无用功,记录下来比较明智
  embedanddelphi.cublog.cn

关于作者
网络游民一个
电子科大在读研究生

|| << >> ||
我的分类


j2me显示图像
平台搭建好了,不能满足于helloworld吧,于是开始继续看《Java手机游戏实例手册》。今天是Image类和Canvas类的使用。把书上的代码copy下来了。
MyCartoonMidlet.java:(主程序)

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;


public class MyCartoonMidlet extends MIDlet {
public MainCanvas m_MainCanvas;

public MyCartoonMidlet() {
super();
// TODO Auto-generated constructor stub

}

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

m_MainCanvas = new MainCanvas();

Display.getDisplay(this).setCurrent(m_MainCanvas);
while(true){
m_MainCanvas.repaint();
}
}

}

 

MainCanvas.java:(自定义类MainCanvas)

import java.io.IOException;

import javax.microedition.lcdui.*;


public class MainCanvas extends Canvas{
public Image m_Image;
MainCanvas(){
try{
m_Image=Image.createImage("/zjl_24.png");
}
catch(IOException e){}
}

protected void paint(Graphics g) {
// TODO Auto-generated method stub

g.drawImage(m_Image, 0, 0, Graphics.TOP|Graphics.LEFT);


}


}

运行的时候出现NullPointerException,因为m_Image=Image.createImage("/zjl_24.png")总是返回null。这说明图像没有成功创建。原来是图像文件位置没放对,书上是老版本位置不同。我把文件放到res目录下面(src目录下面也是可以的),然后右键点项目文件,选择refresh刷新(重要!)。刷新后会自动在bin目录下也生成同一个图像文件。于是可以成功运行,显示出了图片

ps.j2me操作的图像都是png格式的。大分辨率的图像只会显示一部分出来。

 

 TAG j2me
发表于: 2008-05-05,修改于: 2008-05-05 23:37,已浏览149次,有评论0条 推荐 投诉


网友评论
 发表评论