MIDPアプリ作成講座第4回::ソフトキー使用方法

By uchida - 09/02/13 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

MIDPアプリ作成講座第2・3回で開発環境の解説を行いました。
今回からプログラムを作成する方法を解説していきます。
 
第4回としまして、プログラムを簡易操作できるソフトキーの使用方法についてです。ソフトキーとはボタン配置の一番上にある(はず)のボタンを意味します。ディスプレイには下に機能名が表示されます。「終了」する場合などはこのボタンを使用するのが一般的です。

プロジェクト作成

eclipseでプロジェクトを作成します。
[eclipseメニュー]->[File]->[New]->[Project…]->[J2ME]->[J2ME Midlet Suite]を選択してプロジェクトを作成します。
次にソースを作成します。
[eclipseメニュー]->[File]->[New]->[Other…]->[J2ME]->[J2ME Midlet]を選択して基礎となるプログラムを作成します。

サンプルプログラム

 
ではまずサンプルプログラムを紹介します。

sample04.java

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;

public class sample04 extends MIDlet implements CommandListener {

	private Form mainForm;
	private Command exitCmd = new Command("終了", Command.EXIT, -1);
	
	public sample04(){
		mainForm = new Form("MIDletSample");
		mainForm.addCommand(exitCmd );
		mainForm.setCommandListener(this);
	}
	
	protected void startApp() {
		Display.getDisplay(this).setCurrent(mainForm);
	}
	
	public void commandAction(Command c, Displayable d) {
		if (c == exitCmd ) {
			notifyDestroyed();
		}
	}
	
	protected void pauseApp() {
	}
	
	protected void destroyApp(boolean unconditional) {
	}
}

プログラムの解説

左のソフトキーを押下してプログラムを終了します。

public class sample02 extends MIDlet implements CommandListener 

まずイベントを受け取るためにCommandListener を実装します。

private Command exitCmd = new Command("終了", Command.EXIT, -1);

オブジェクトを作成し、exitCmd と定義しています。
Command.EXITはすでに定義された固定値です。この他には以下のものがあります。

BACK・CANCEL・HELP・ITEM・OK・SCREEN・STOP

	public void commandAction(Command c, Displayable d) {
		if (c == exitCmd ) {
			notifyDestroyed();
		}
	}

commandActionはイベント発生時に実行されます。
この中でどのイベントで実行されたかを判断して、プログラムの終了を行っています。

以上です。