安装好开发环境后,接下来要做的当然是写个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。