安装好开发环境后,接下来要做的当然是写个helloworld一试身手了!
打开eclipse—>file—>new—>project—->j2me—>j2me midlet suite—>next—>输入工程名字—>next —>选择可用的平台(我们选midp2.0)—>finish
在package窗口中右击新建工程—>new—>other—>j2me—>j2me midlet—>next—>输入helloworld
—>finish
这个helloworld.java文件里包含了j2me程序的基本框架。所有j2me的应用程序都要从midlet类中派生,类似于applet和servlet。所有继承midlet类的子类都要实现startapp(),pauseapp()和destroyapp()这3个方法。这3个方法分别对应应用程序的3种状态:运行、停止和消亡状态。
当应用程序管理软件创建了这个midlet实例后,使其处于停止状态。调用了startapp()方法后便进入了运行状态,在运行状态中调用destroyapp()或pauseapp()方法便进入了消亡或停止状态。
为了可以控制程序随时退出,我们还需要让helloworld类实现一个命令监听接口commandlistener。这个接口只有一个方法,原型为void commandaction(command , displayable )。在这里就可以处理命令了。
具体代码如下:
——————————————————————————–
import javax.microedition.lcdui.*;
import javax.microedition.midlet.midlet;
import javax.microedition.midlet.midletstatechangeexception;
public class helloworld extends midlet implements commandlistener{
private form form=null;
private command exitcmd=null;
private string str="hello world";
public helloworld() {
super();
form=new form("hello world");
exitcmd=new command("exit",command.exit,1);
form.append(str);
form.addcommand(exitcmd);
//为form添加命令监听器
form.setcommandlistener(this);
}
protected void startapp() throws midletstatechangeexception {
//将form显示到当前屏幕
display.getdisplay(this).setcurrent(form);
}
protected void pauseapp() {
}
protected void destroyapp(boolean arg0) throws midletstatechangeexception {
}
public void commandaction(command arg0, displayable arg1) {
try {
destroyapp(false);
notifydestroyed();
} catch (midletstatechangeexception e) {
e.printstacktrace();
}
}
}
——————————————————————————–
现在可以在eclipse的run菜单中选择run as emulated j2me midlet来运行它了!
下面要仔细将将这个小程序中要用到的几个类了:
form类:是一个容器类,从screen继承而来。可以将任何组件或图像放到form中去,例如:各类文本框、选择框等。也可以将它看作一个组件管理器。可以通过form来添加、删除、插入和设置这些组件。
command类:定义了所有按键动作和组件动作。可以通过commandlistenter来截获并且处理。
display类:用来管理系统的显示设备和输入设备。每个midlet同时间只允许有一个display。