J2ME中输入文本TextBox的输入格式限制

/**
 * @作者 Jcuckoo
 * @创建日期 2008-10-30
 * @版本 V 1.0
 */

public class TextBoxMIDlet extends MIDlet implements CommandListener{
 private Display display;
 private TextBox textBox;
 //文本输入限制 列表
 private List constraintsList;
 //文本输入限制 列表的内容
 private String[] constraintsName={
   "任何字符",
   "数字",
   "电子邮件",
   "数值",
   "电话号码",
   "URL地址"
  };
 //文本输入限制 的对应格式
 private int[] constraintsType={
   TextField.ANY,
   TextField.NUMERIC,
   TextField.EMAILADDR,
   TextField.DECIMAL,
   TextField.PHONENUMBER,
   TextField.URL
  };
 //输入选择、后退、退出按钮
 private Command inputCommand;
 private Command backCommand;
 private Command exitCommand;
 public TextBoxMIDlet() {
  display=Display.getDisplay(this);
  exitCommand=new Command("退出",Command.EXIT,1);
  //文本输入限制 列表初始化  
  constraintsList=new List("输入内容的格式选择:",Choice.EXCLUSIVE,constraintsName,null);
  inputCommand=new Command("输入内容",Command.SCREEN,1);
  constraintsList.addCommand(inputCommand);
  constraintsList.addCommand(exitCommand);
  constraintsList.setCommandListener(this);
  
  //输入文本的初始化
  textBox=new TextBox("TextBox测试","TextBox测试内容如下:",500,TextField.ANY);
  backCommand=new Command("后退",Command.BACK,1);
  textBox.addCommand(backCommand);
  textBox.addCommand(exitCommand);
  textBox.setCommandListener(this);
 }
 protected void destroyApp(boolean arg0){
 }
 protected void pauseApp() {
 }
 protected void startApp() throws MIDletStateChangeException {
  display.setCurrent(constraintsList);
 }
 public void commandAction(Command c, Displayable d) {
  //如果当前界面是constraintsList,则获取对应选择的选项,并根据选项设置输入文本textBox的输入格式
  if(d==constraintsList){
   List list=(List)constraintsList;
   //获取被选项的序号
   int flag=list.getSelectedIndex();
   //通过序号,获取被选项的内容
   String result=list.getString(flag);
    //将获取的内容设置成输入文本textBox的标题
   textBox.setTitle(result);
    //通过序号,从数组constraintsType获取对应的格式,并对输入文本textBox进行设置
   textBox.setConstraints(constraintsType[flag]);
  }
  if(c==inputCommand){
   //屏幕切换到输入文本界面
   display.setCurrent(textBox);
  }
  if(c==backCommand){
    //屏幕切换到List界面
   display.setCurrent(constraintsList);
   //文本清空
   textBox.setString("");
  }
  if(c==exitCommand){
   destroyApp(false);
   notifyDestroyed();
  }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值