|
package com;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
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.Item;
import javax.microedition.lcdui.ItemStateListener;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

 /** *//**
* 簡單模擬短信發(fā)送流程
*
* @author zdw
*
*/
public class MsgTest extends MIDlet implements CommandListener,
ItemStateListener
  {
 /**//* 歡迎界面 */
private Form formWelcome = null;
private StringItem si = null;
private Command cmdWrite = null;
private Command cmdExit = null;
 /**//* 寫短信界面* */
private Form formMsg = null;
private TextField tfMsg = null;
private Command cmdBack = null;
private Command cmdSend = null;
private Command cmdClear = null;
 /**//* 短信發(fā)送界面 */
private Form formSend = null;
private TextField tfPhone = null;
private Command cmdOk = null;
private Command cmdSendBack = null;
 /**//* 發(fā)送成功界面 */
private Alert alert = null;
private Display display = null;

public MsgTest()
 {
display = Display.getDisplay(this);
}

protected void startApp() throws MIDletStateChangeException
 {
 /**//* 歡迎界面初始化 */
formWelcome = new Form("歡迎您使用短信系統(tǒng)");
display.setCurrent(formWelcome);
cmdWrite = new Command("寫短信", Command.OK, 1);
cmdExit = new Command("退出", Command.EXIT, 1);
formWelcome.addCommand(cmdWrite);
formWelcome.addCommand(cmdExit);
si = new StringItem("","歡迎您短信發(fā)送系統(tǒng)");
formWelcome.append(si);
 /**//* 寫短信界面初始化 */
formMsg = new Form("寫短信");
cmdBack = new Command("返回", Command.BACK, 1);
cmdSend = new Command("發(fā)送", Command.SCREEN, 1);
cmdClear = new Command("清除", Command.BACK, 1);
formMsg.addCommand(cmdBack);
formMsg.addCommand(cmdSend);
tfMsg = new TextField("編輯短信", "", 255, TextField.ANY);
// 設(shè)置TextField占據(jù)整個屏幕
tfMsg.setPreferredSize(formMsg.getWidth(), formMsg.getHeight());
formMsg.append(tfMsg);
 /**//* 短信發(fā)送界面初始化 */
formSend = new Form("請輸入手機號");
tfPhone = new TextField("手機號", "", 11, TextField.NUMERIC);
cmdOk = new Command("確認(rèn)發(fā)送", Command.OK, 1);
cmdSendBack = new Command("返回", Command.BACK, 1);
formSend.addCommand(cmdOk);
formSend.addCommand(cmdSendBack);
formSend.append(tfPhone);
 /**//* 發(fā)送成功界面初始化 */
alert = new Alert("發(fā)送成功", "恭喜您,短信發(fā)送成功", null, AlertType.INFO);
 /**//* 注冊事件 */
formWelcome.setCommandListener(this);
formMsg.setCommandListener(this);
formSend.setCommandListener(this);
formMsg.setItemStateListener(this);
alert.setCommandListener(this);

}

 /** *//**
* Command 事件
*/
public void commandAction(Command c, Displayable dis)
 {
// 退出
if (c == cmdExit)
 {
this.notifyDestroyed();
}
// 寫短信
if (c == cmdWrite)
 {
display.setCurrent(formMsg);

}
// 后退
if (c == cmdBack)
 {
display.setCurrent(formWelcome);
}
// 清除短信(逐字刪除)
if (c == cmdClear)
 {
int pos = tfMsg.getCaretPosition();
tfMsg.delete(pos - 1, 1);
if (tfMsg.size() == 0)
 {
formMsg.removeCommand(cmdClear);
formMsg.addCommand(cmdBack);
}
}
// 發(fā)送
if (c == cmdSend)
 {
display.setCurrent(formSend);
}
// 手機號輸入返回
if (c == cmdSendBack)
 {
display.setCurrent(formMsg);
}
// 確認(rèn)發(fā)送
if (c == cmdOk)
 {
display.setCurrent(alert);
}
}

 /** *//**
* TextField狀態(tài)事件
*/
public void itemStateChanged(Item item)
 {
if (item == tfMsg)
 {
if (tfMsg.size() != 0)
 {
formMsg.removeCommand(cmdBack);
formMsg.addCommand(cmdClear);
}
}
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException
 {

}

protected void pauseApp()
 {

}

}

|