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.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MessageMIDlet extends MIDlet {
private welcome wcfrm=null;
public MessageMIDlet() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
wcfrm=new welcome(this);
Display.getDisplay(this).setCurrent(wcfrm);
}
}
class welcome extends Form implements CommandListener
{
private Command cmdExit=null;
private Command cmdWrite=null;
private writemsg wrfrm=null;
private MIDlet let=null;
public welcome(MIDlet mlet)
{
super("欢迎使用本程序");
let=mlet;
cmdExit=new Command("退出",Command.EXIT,1);
cmdWrite=new Command("写短信",Command.SCREEN,1);
this.addCommand(cmdExit);
this.addCommand(cmdWrite);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if(c==cmdExit)
{
let.notifyDestroyed();
}
else
if(c==cmdWrite)
{
wrfrm=new writemsg(let);
Display.getDisplay(let).setCurrent(wrfrm);
}
}
}
class writemsg extends javax.microedition.lcdui.Form implements CommandListener,ItemStateListener
{
private Command cmdBack=null;
private Command cmdwrNum=null;
private MIDlet let=null;
private TextField tf=null;
private Command cmdDel=null;
private writeNum2 wrnum=null;
public writemsg(MIDlet mlet)
{
super("请输入短信内容");
let=mlet;
cmdBack=new Command("返回",Command.EXIT,1);
cmdwrNum=new Command("发送",Command.SCREEN,1);
cmdDel=new Command("删除",Command.EXIT,1);
this.addCommand(cmdBack);
this.addCommand(cmdwrNum);
tf= new TextField("","",255,TextField.ANY);
//tf.addCommand(cmdDel);
this.append(tf);
this.setItemStateListener(this);
this.setCommandListener(this);
tf.setLayout(TextField.LAYOUT_VEXPAND);
}
public void commandAction(Command c, Displayable d) {
if(c==cmdBack)
{
Display.getDisplay(let).setCurrent(new welcome(let));
}else if(c==cmdwrNum)
{
wrnum=new writeNum2(let);
Display.getDisplay(let).setCurrent(wrnum);
}else if(c==cmdDel)
{
int p=tf.getCaretPosition();
if(p>0)
{
tf.delete(p-1, 1);
}
if(tf.getString().length()==0)
{
this.removeCommand(cmdDel);
this.addCommand(cmdBack);
}
}
}
public void itemStateChanged(Item i) {
if(i==tf)
{
if( tf.getString().length()>0)
{
// this.addCommand(cmdDel);
this.removeCommand(cmdBack);
this.addCommand(cmdDel);
}
else
{
this.removeCommand(cmdDel);
this.addCommand(cmdBack);
}
}
}
}
class writeNum2 extends javax.microedition.lcdui.Form implements CommandListener,ItemStateListener
{
private Command cmdBack=null;
private Command cmdwrNum=null;
private MIDlet let=null;
private TextField tf=null;
private Command cmdDel=null;
private Form preFrm=null;
private boolean sendflag=false;
public writeNum2(MIDlet mlet)
{
super("请输入对方号码");
let=mlet;
preFrm=(Form) Display.getDisplay(let).getCurrent();
cmdBack=new Command("返回",Command.EXIT,1);
cmdwrNum=new Command("发送",Command.SCREEN,1);
cmdDel=new Command("删除",Command.EXIT,1);
this.addCommand(cmdBack);
this.addCommand(cmdwrNum);
tf= new TextField("","",13,TextField.NUMERIC);
//tf.addCommand(cmdDel);
this.append(tf);
this.setItemStateListener(this);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if(c==cmdBack)
{
if (sendflag)
Display.getDisplay(let).setCurrent(new welcome(let));
else
Display.getDisplay(let).setCurrent(this.preFrm);
}else if(c==cmdwrNum)
{
String msg= ((TextField)(preFrm.get(0))).getString();
String phonenum= tf.getString();
this.append("信息内容:"+ msg);
this.append("发送号码:"+ phonenum);
this.append("发送状态:成功");
this.delete(0);
this.removeCommand(cmdwrNum);
this.removeCommand(cmdDel);
this.addCommand(cmdBack);
sendflag=true;
}else if(c==cmdDel)
{
int p=tf.getCaretPosition();
if(p>0)
{
tf.delete(p-1, 1);
}
if(tf.getString().length()==0)
{
this.removeCommand(cmdDel);
this.addCommand(cmdBack);
}
}
}
public void itemStateChanged(Item i) {
if(i==tf)
{
if( tf.getString().length()>0)
{
// this.addCommand(cmdDel);
this.removeCommand(cmdBack);
this.addCommand(cmdDel);
}
else
{
this.removeCommand(cmdDel);
this.addCommand(cmdBack);
}
}
}
}
/*
class writeNum extends Form implements CommandListener
{
private MIDlet let=null;
private Command cmdSend=null;
private Command cmdBack=null;
private TextField num=null;
private Form backfrm=null;
public writeNum(MIDlet mlet) {
super("请输入要发送的号码");
let=mlet;
num=new TextField("","",13,TextField.NUMERIC);
this.append(num);
cmdSend=new Command("发送",Command.OK,1);
cmdBack=new Command("返回",Command.BACK,1);
this.addCommand(cmdSend);
this.addCommand(cmdBack);
this.backfrm=(Form) Display.getDisplay(let).getCurrent();
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if(c==cmdSend)
{
try
{
String msg=((TextField)this.backfrm.get(0)).getString();//当跨几个Form时应该怎么办?
this.append("信息:"+ msg+"已发送到:"+ num.getString());
this.delete(0);
this.setTitle("信息已发送成功");
}
catch(Exception e)
{
this.append("信息成功发送");
}
}
else if(c==cmdBack)
{
Display.getDisplay(let).setCurrent(this.backfrm);
}
}
}
**/