功能:啟動顯示版權資訊 → 使用者輸入編號 → 顯示對應短訊內容 → 支援重複查詢與退出。
package demo;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Test extends MIDlet implements CommandListener {
private TextBox textbox;
private Display disp;
private Command cmdExit, cmdOK;
private Alert alt;
public Test() {
super();
disp = Display.getDisplay(this);
cmdExit = new Command("退出", Command.SCREEN, 1);
cmdOK = new Command("閱讀", Command.OK, 1);
textbox = new TextBox("請輸入待閱項目序號:", "", 40, 0);
textbox.addCommand(cmdExit);
textbox.addCommand(cmdOK);
textbox.setCommandListener(this);
}
protected void startApp() throws MIDletStateChangeException {
alt = new Alert("整蠱專家 V1.0");
alt.setString("==== 整蠱專家 V1.0 ====\n郎銳2004年作版權所有(C) 2004-2005");
alt.setType(AlertType.INFO);
alt.setTimeout(Alert.FOREVER);
disp.setCurrent(alt, textbox);
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) {}
public void commandAction(Command cmd, Displayable d) {
if (cmd == cmdExit) {
destroyApp(false);
notifyDestroyed();
} else if (cmd == cmdOK) {
TextBox tb = (TextBox) d;
String input = tb.getString();
if (input.matches("[1-5]")) {
String[] msgs = {
"一兄弟脾氣甚……",
"豬的四大願望……",
"春風裡,百花下……",
"為什麼……",
"昨夜做了……"
};
alt.setString(msgs[Integer.parseInt(input)-1]);
alt.setTitle("您正在閱讀短信" + input);
} else {
alt.setString("很抱歉,暫時還沒有您選擇的項目,請重新輸入!");
alt.setTitle("錯誤警告");
}
alt.setType(AlertType.INFO);
alt.setTimeout(Alert.FOREVER);
disp.setCurrent(alt, textbox);
}
}
}
setTimeout(Alert.FOREVER) 需按鍵確認才離開,適合版權頁、選單。addCommand() 後必須 setCommandListener() 才會響應。equals(),不可用 ==。
建議使用目標手機廠商 SDK 測試。截圖為 Sony Ericsson J2ME SDK (WTK 1.0.4) + T630 模擬器:

流程:程式清單選中 → Launch → 版權頁 → Done → 輸入編號 → 閱讀 → 顯示內容 → Done 返回 → 重複或退出。
Test.jad 開啟 JAD 編輯器,切換到 Midlets 分頁,確認 MIDlet 定義(名稱、類別、圖示)。圖示需為 PNG 格式。

deployed 資料夾產生 Test.jad、Test.jar。
Test.jar 上傳至支援 Java 的手機安裝運行。已實現真正可在手機運行的 J2ME 程式。開發流程並不神秘,投入創意即可開發更強大、更美觀的應用。下一講將在此基礎上實作圖形化手機遊戲。