Java 2 Micro Edition (J2ME)是一种针对移动电话和PDA这样的小型设备的Java语言。大部分厂商都迫切希望Java手机推广应用。上千万的Java手机已经到了消费者的手中。J2ME与台式机中的Java相比还是有很大的限制,但是它已经极大的提高了移动电话支持游戏的能力。它有比SMS或WAP更好控制的界面,允许使用子图形动画,并且可以通过无线网络连接到远程服务器。支持Java的手机的普及,所以它成为目前最好的移动游戏开发环境。J2ME不是手机上配置的唯一的解释语言,但是它是一个许多厂商支持的行业标准。
下面是一段利用Canvas类实现基本绘图功能的参考源代码:
/*
几何形状图片绘制
*/
import javax.microedition.midlet.;
import javax.microedition.lcdui.;
public class canvasDemo4 extends MIDlet implements CommandListener
{
Display display;
//声明List清单
List list;
//声明查询选择清单指针变量
int viewType;
Command okCommand;
Command exitCommand;
canvasDraw canvasdraw;
public canvasDemo4()
{
canvasdraw=new canvasDraw();
display=Display.getDisplay(this);
list=new List("线条几何形状绘制清单", List.IMPLICIT);
okCommand = new Command("确认", Command.OK, 2);
exitCommand = new Command("离开", Command.EXIT, 2);
list.append("绘制线条", null);
list.append("绘制矩形", null);
list.append("绘制圆角矩形", null);
list.append("绘制弧形", null);
list.append("绘制三角形", null);
list.addCommand(okCommand);
list.addCommand(exitCommand);
list.setCommandListener(this);
}
public void startApp()
{
display.setCurrent(list);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
public void commandAction(Command cmd, Displayable disp)
{
//取得清单选取的list项目
viewType=list.getSelectedIndex();
if (cmd == okCommand)
{
display.setCurrent(canvasdraw);
}
else if(cmd == exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
class canvasDraw extends Canvas implements CommandListener
{
int gameaction=0;
Image handImage;
int changeSD=1;
int changeFull=0;
Command backCommand;
public canvasDraw()
{
try{
handImage=Image.createImage("/hand.png");
}catch(Exception ex){}
backCommand = new Command("返回", Command.BACK, 1);
addCommand(backCommand);
setCommandListener(this);
}