J2ME学习笔记_2_HelloWorld程序详解

类别:Java 点击:0 评论:0 推荐:

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

本文地址:http://com.8s8s.com/it/it10895.htm