TextBox 学习

学习j2me 的高级UI--TextBox

 

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;

public class j2me_TextBox extends MIDlet implements CommandListener{
   
 private  Display display;
 

 //
 private final static Form form = new Form("J2ME的练习");
 
 private final static Ticker ticker = new Ticker("学生姓名");
 
 private final static List lstStudents = new List("学生",List.MULTIPLE);
  
 private final static TextBox txtbox = new TextBox("学生","",40,TextField.ANY );
 
 //按钮的定义
 private final static Command cmdExit = new Command("退出", Command.EXIT, 1);
 private final static Command cmdBack = new Command("返回", Command.BACK, 1);
 private final static Command cmdAdd = new Command("添加", Command.ITEM,1);
 private final static Command cmdDel = new Command("删除", Command.ITEM, 2);
 private final static Command cmdOk = new Command("确定", Command.ITEM, 3);
 private final static Command cmdDelAll = new Command("全部删除",Command.ITEM, 4);
 
 //退出程序
 private void exetMIDlet() {   
  notifyDestroyed();
 }
 
 //选定删除学生
 private void delStutents() {
  //获取列表大小
  int count = lstStudents.size();
  
  //定义列表大小的列表
  boolean b[] = new boolean[count];
  
  //将列表中的boolean 载入 b[]
  int selcout = lstStudents.getSelectedFlags(b);
  
  if(selcout>0)   
  for (int i = 0; i < count; i++) {
   if (b[i]) {
    System.out.println("/t"+lstStudents.getString(i));
    lstStudents.delete(i);
   }   
  }
 }
 
 //按下了添加按钮 添加学生
 private void addStudents() {
  txtbox.setTicker(new Ticker("学生姓名输入区域"));
  txtbox.setTitle("请输入学生姓名");
     txtbox.setString(null);
  display.setCurrent(txtbox);
 }
 
 //点击确定后添加到txtbox
 private void  cmdAddStudents() {
  try {
   int len = txtbox.getString().length();   
   lstStudents.append(txtbox.getString() + "(长度:"+ len + ")", null);
   display.setCurrent(lstStudents);
  } catch (Exception e) {
   // TODO: handle exception  
    //lstStudents.setTicker(new Alert("错误"));
  }
  
 }
 
 //实现按钮监听
 public void commandAction(Command c, Displayable d) {
  // TODO Auto-generated method stub
  //按下了删除按钮
  if (c == cmdExit) {
   exetMIDlet();   
  }
   
  //如果在主屏幕
  if(d.equals(lstStudents))
  {   
   if(c == cmdAdd)//按下了添加按钮
   {
    addStudents();
   }else if(c == cmdDel){//按下了退出按钮
    delStutents();
   }else if (c == cmdDelAll) {
    lstStudents.deleteAll();
   }
  }else if (d.equals(txtbox)) {//如果在txtbox 的screen
   if (c == cmdOk) {//点击确定,即添加一个姓名到txtbox
    cmdAddStudents();
   }else if (c == cmdBack) {//返回到主屏幕
    display.setCurrent(lstStudents);
   }
  } 
 }

 public j2me_TextBox() {
  // TODO Auto-generated constructor stub
  display = 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() throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  form.append("输入学生姓名");
  form.addCommand(cmdExit);
  form.addCommand(cmdAdd);
  form.addCommand(cmdDel);
  form.setCommandListener(this);
  
  //String xString = new String(display.isColor()?"T","T");
  
  lstStudents.addCommand(cmdAdd);//添加按钮
  lstStudents.addCommand(cmdDel);//删除按钮
  lstStudents.addCommand(cmdExit);//退出按钮
  lstStudents.addCommand(cmdDelAll);//全部删除按钮
  lstStudents.setCommandListener(this);
    
  txtbox.addCommand(cmdOk);//在txtbox 屏幕,添加按钮
  txtbox.addCommand(cmdBack);//在txtbox 屏幕,取消按钮
  txtbox.setCommandListener(this);
  
  display.setCurrent(lstStudents);

 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值