J2Me编写界面发送短信

今天将发送短信的程序界面完善了一下。加入了输入内容和号码的输入框;

在listener的时候做了一个判断, if((textFieldNumber.getString() != null)&&(!("".equals(textFieldNumber.getString())))){
   str = textFieldNumber.getString();
  }
  if((textFieldMessage.getString() != null)&&(!("".equals(textFieldMessage.getString())))){
   str2 = textFieldMessage.getString();
  }

在getString不为空且不为空字符串时,将内容赋值给一个String。先判断第一个输入框输入的内容是否为空,不为空加载第二个form。判断两个输入框内容都不为空的时候,执行发送短信的方法。
开始时只判断了是否为空,而没判断是否为空字符串。所以发送短信的方法不论怎样都会执行。因为textField的getString方法无论怎么样都不是NULL,若不填写只会是空字符串。

具体代码如下:

package com.sms;

import javax.microedition.lcdui.Alert;
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.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class SendMessage extends MIDlet implements CommandListener{

 private Alert alert;
 private Alert alert2;
 private TextField textFieldNumber;
 private TextField textFieldMessage;
 private Display display;
 private Form form;
 private Form form2;
 private Command commandOk;
 private Command commandBack;
 private String str = null;
 private String str2 = null;
 
 public SendMessage() {
  display = Display.getDisplay(this);
  alert = new Alert("即将发送短信,请填写号码及内容");
  commandOk = new Command("确定", Command.OK, 1);
  commandBack = new Command("返回", Command.BACK, 2);
  textFieldNumber = new TextField("号码", "", 20, TextField.NUMERIC);
  textFieldMessage = new TextField("信息内容", "", 20, TextField.ANY);
  form = new Form("发送短信-号码");
  form.append(textFieldNumber);
  
  form.addCommand(commandOk);
  form.addCommand(commandBack);
  form.setCommandListener(this);
  
  form2 = new Form("发送短信-信息");
  form2.append(textFieldMessage);
  form2.addCommand(commandOk);
  form2.addCommand(commandBack);
  form2.setCommandListener(this);
  
 }

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

 }

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

 }

 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub

  display.setCurrent(form);
  
 }

 public void commandAction(Command cmd, Displayable d) {
  System.out.println("-----["+textFieldNumber.getString());
  if((textFieldNumber.getString() != null)&&(!("".equals(textFieldNumber.getString())))){
   str = textFieldNumber.getString();
  }
  if((textFieldMessage.getString() != null)&&(!("".equals(textFieldMessage.getString())))){
   str2 = textFieldMessage.getString();
  }
  if (cmd == commandBack) {
   try {
    destroyApp(true);
   } catch (MIDletStateChangeException e) {
    e.printStackTrace();
   }
   notifyDestroyed();
  } else if (cmd == commandOk) {
   if(str != null){
    display.setCurrent(form2);
    if((str!=null)&&(str2!=null)){
     Send send=new Send(str2,str);
    }
   }

  }
  alert2 = new Alert("发送成功。。。");
 }
 
 public boolean isNumber(){
  
  return false;
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值