J2ME实现发短信的小例子

这是看了郭克华老师的视频后写的。学习J2ME中.不知道TextField能不能显示整个FORM?知道的请留言 谢谢

package Send.Test;

import java.io.IOException;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

import com.sun.midp.lcdui.Text;

public class frmMain extends MIDlet implements javax.microedition.lcdui.CommandListener,javax.microedition.lcdui.ItemStateListener{

 /*******************初始化欢迎界面********************/
 private Display dis;
 private Form frmForm=new Form("欢迎界面");
 private Command cmd_exit=new Command("退出",Command.EXIT,1);
 private Command cmd_send=new Command("写短信",Command.SCREEN,1);
 private ImageItem ItemImages;
 private Image image;
 /*******************初始化写短信界面********************/
 private Form sendFrm=new Form("短信输入:");
 private TextField sendTB=new TextField("","",255,javax.microedition.lcdui.TextField.ANY);
 
 private Command cmdsend_back=new Command("返回",Command.BACK,1);
 private Command cmdsend_clean=new Command("清除文本",Command.CANCEL,1);
 private Command cmdsend_ok=new Command("发送",Command.SCREEN,1);
 
 /*******************初始化短信发送界面********************/
 private TextBox tb=new TextBox("请输入手机号码:","",255,TextField.PHONENUMBER);
 private Command cmd_back=new Command("返回",Command.BACK,1);
 private Command cmd_ok=new Command("确定",Command.OK,1);
 
 
 public frmMain() {
  dis=Display.getDisplay(this);
  
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  // TODO Auto-generated method stub

 }

 protected void pauseApp() {
  // TODO Auto-generated method stub

 }

 protected void startApp() {
  /*******************初始化欢迎界面********************/
  
  try {
   image = Image.createImage("/Winter.png");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  ItemImages=new ImageItem("欢迎界面",image,Item.LAYOUT_CENTER,"欢迎图片");
  frmForm.addCommand(cmd_exit);
  frmForm.addCommand(cmd_send);
  frmForm.append(ItemImages);
  dis.setCurrent(frmForm);
  /*******************初始化写短信界面********************/
  sendFrm.append(sendTB);
  sendFrm.addCommand(cmdsend_back);
  sendFrm.addCommand(cmdsend_ok);
   /*******************初始化短信发送界面********************/
   tb.addCommand(cmd_back);
   tb.addCommand(cmd_ok);
  /*******************初始化事件********************/
  sendFrm.setCommandListener(this);
  frmForm.setCommandListener(this);
   sendFrm.setItemStateListener(this);
   tb.setCommandListener(this);

 }

 public void commandAction(Command c, Displayable d) {
  // TODO Auto-generated method stub
  if(c==cmd_exit)
  {
   this.notifyDestroyed();
  }
  else if(c==cmd_send)
  {
   dis.setCurrent(sendFrm);
  }
  else if(c==cmdsend_back)
  {
   dis.setCurrent(frmForm);
  }
  else if(c==cmdsend_clean)
  {
   int i=sendTB.getCaretPosition();
   sendTB.delete(i-1, 1);
   if(sendTB.size()==0)
   {
    sendFrm.removeCommand(cmdsend_clean);
    sendFrm.addCommand(cmdsend_back);
   }
  }
  else if(c==cmdsend_ok)
  {
   dis.setCurrent(tb);
  }
  else if(c==cmd_back)
  {
   dis.setCurrent(sendFrm);
  }
  else if(c==cmd_ok)
  {
   System.out.println("发送短信内容:"+sendTB.getString());
   System.out.println("发送号码:"+tb.getString());
  }
  
 }

 public void itemStateChanged(Item c) {
  // TODO Auto-generated method stub
  if(c==sendTB){
    
   if(sendTB.size()==0)
   {
    sendFrm.removeCommand(cmdsend_clean);
    sendFrm.addCommand(cmdsend_back);
   }
   else
   {
    sendFrm.removeCommand(cmdsend_back);
    sendFrm.addCommand(cmdsend_clean);
   }
  }
    
 }

}

posted @ 2008-12-11 13:47  飘逸的程序员  阅读(1478)  评论(2)    收藏  举报