UIとは
今回は携帯アプリでユーザーから入力してもらう方法をご紹介します。
UIとはボタンやテキスト入力・ラベルなど、入出力するツールの総称です。
MIDPでもそれらを簡単に作成できるようにインターフェースが用意されています。
前回ご紹介したソフトキーの利用もこのUIを利用していました。
利用するには、『javax.microedition.lcdui』パッケージをインポートする必要があります。
このパッケージには色々多彩なものが用意されていて、シンプルな機能から多機能なものまであります。
UIを利用する簡単なサンプルとして、利用頻度の高いテキストフィールドの利用方法をご紹介します。
サンプルプログラム
Midp05.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.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class Midp05 extends MIDlet implements CommandListener{
private Form mainForm;
private TextField inputTextBox;
private StringItem outputLabel;
private Command endCmd = new Command("終了", Command.EXIT, -1);
public Midp05(){
mainForm = new Form("MIDletSample");
//入力テキスト
inputTextBox = new TextField("入力内容", "", 200, TextField.ANY);
mainForm.append(inputTextBox);
//ラベル
outputLabel = new StringItem("", "");
mainForm.append(outputLabel);
//ソフトキー
mainForm.addCommand(endCmd);
mainForm.setCommandListener(this);
}
protected void startApp() {
Display.getDisplay(this).setCurrent(mainForm);
}
public void commandAction(Command c, Displayable d) {
if (c == endCmd) {
notifyDestroyed();
}
}
protected void pauseApp() {
}
protected void destroyApp(boolean unconditional) {
}
}
プログラム解説
前回ご紹介したソフトキーの利用を少しだけ変更したプログラムになります。
変更点は
import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextField;
インポートを増やしたこと。
//入力テキスト
inputTextBox = new TextField("入力内容", "", 200, TextField.ANY);
mainForm.append(inputTextBox);
//ラベル
outputLabel = new StringItem("", "");
mainForm.append(outputLabel);
入力・出力フィールドを実装させたことです。
徐々にプログラムらしくなってきました。
その他のUIでもlcdui.以下をインポートして、オブジェクトを生成し、Formに実装する流れは同じになります。
メインクラスとUIを定義するクラスを分けてあげると見易くなりますし、Canvasクラスを同時使用するなどのシチュエーションでは必要になってくると思います。







