自動生成されたソースコードを見る


では、HelloMIDlet.javaに記述されているソースコードがどのようなものか、見てみましょう。おそらく以下のようなものが初期状態で記述されているはずです。

package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener {

  private Command exitCommand;
  private Display display;

  public HelloMIDlet() {
    display = Display.getDisplay(this);
    exitCommand = new Command("Exit", Command.EXIT, 0);
  }

  public void startApp() {
    TextBox t = new TextBox("Hello", "Hello, World!", 256, 0);

    t.addCommand(exitCommand);
    t.setCommandListener(this);

    display.setCurrent(t);
  }

  public void pauseApp() {
  }

  public void destroyApp(boolean unconditional) {
  }

  public void commandAction(Command c, Displayable s) {
    if (c == exitCommand) {
      destroyApp(false);
      notifyDestroyed();
    }
  }

}

ここでは、helloというパッケージ内に「HelloMIDlet」という名前でクラスが定義されています。パッケージについては、これはソースコードが自動生成される際に機械的に設定されているだけで、特に意味はありません。それぞれで独自のパッケージで用意することができます。

クラスの基本


作成されているHelloMIDletが、プログラムの本体となるクラスです。このクラスは、以下のような形で定義されます。

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class クラス名 extends MIDlet {

  public コンストラクタ(){
    ……インスタンス生成時の処理……
  }
  
  public void startApp() {
    ……プログラム開始時の処理……
  }
  
  public void pauseApp() {
    ……プログラム一時停止時の処理……
  }
  
  public void destroyApp(boolean unconditional) {
    ……プログラム終了時の処理……
  }
}