Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100804
  • 博文数量: 52
  • 博客积分: 2095
  • 博客等级: 大尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-08 13:29
文章分类

全部博文(52)

文章存档

2010年(1)

2009年(24)

2008年(27)

我的朋友

分类: Java

2008-05-05 23:34:52

平台搭建好了,不能满足于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格式的。大分辨率的图像只会显示一部分出来。

 

阅读(600) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~