技巧心得:J2ME学习札记2

文章作者 100test 发表时间 2007:03:14 17:37:56
来源 100Test.Com百考试题网


Command对象
  发信站: 北大未名站 (2001年10月20日20:33:56 星期六) , 站内信件
   在前面我们其实已经使用过Command对象了。J2ME的事件系统比较特殊,你必须首先定义一系列的命令,然后注册到容器对象中,例如(Form、Alert、List、TextBox),再设定命令监听者
  ,编写好commandAction()方法即可。当系统发送某个命令,便由commandAction()方法进行统筹处理。下面的程序演示了如何定义多个命令以及如何编写commandAction()方法。
  package fancy.test.
  
  import javax.microedition.midlet.*.
  import javax.microedition.lcdui.*.
  
  public class CMD extends MIDlet implements CommandListener
  {
  private Display display.
   private Form props.
  
   private Command backCommand = new Command("BACK", Command.BACK, 2).
   private Command cancelCommand = new Command("CANCEL", Command.CANCEL, 1).
   private Command exitCommand = new Command("EXIT", Command.EXIT, 1).
   private Command helpCommand = new Command("HELP", Command.HELP, 1).
   private Command itemCommand = new Command("ITEM", Command.ITEM, 1).
   private Command okCommand = new Command("OK", Command.OK, 1).
   private Command screenCommand = new Command("SCREEN", Command.SCREEN, 1).
   private Command stopCommand = new Command("STOP", Command.STOP, 1).
  
  
  public CMD()
  {
  display = Display.getDisplay(this).
   }
  
  public void startApp()
  {
  props = new Form("Hello World").
  props.append("Hello World!\n").
  
  props.addCommand(backCommand).
  props.addCommand(cancelCommand).
  props.addCommand(exitCommand).
  props.addCommand(helpCommand).
  props.addCommand(itemCommand).
  props.addCommand(okCommand).
  props.addCommand(screenCommand).
  props.addCommand(stopCommand).
  props.setCommandListener(this).
  display.setCurrent(props).
   }
  
  public void showScreen(String cmd)
  {
  Form form=new Form("show cmd").
  form.append(cmd).
  form.addCommand(exitCommand).
  form.setCommandListener(this).
  display.setCurrent(form).
  
  }
  
  public void commandAction(Command c, Displayable s)
  {
  if (c == exitCommand)
  {
  destroyApp(false).
   notifyDestroyed().
  }
  else if(c==helpCommand)
  {
  showScreen("help").
  }
  else if(c==backCommand)
  {
  showScreen("back").
  }
  else if(c==cancelCommand)
  {
  showScreen("cancel").
  }
  else if(c==itemCommand)
  {
  showScreen("item").
  }
  else if(c==okCommand)
  {
  showScreen("ok").
  }
  else if(c==screenCommand)
  {
  showScreen("screen").
  }
  if(c==stopCommand)
  {
  showScreen("stop").
  }


相关文章


SCJP考点总结及SCJP考试要点分享[4]
JAVA题库:格林模拟试题三(下)(8)
技巧心得:J2ME学习札记1
JAVA题库:格林模拟试题三(下)(4)
技巧心得:J2ME学习札记2
Java基础-创建Java程序中的线程池
SCJP考点总结及SCJP考试要点分享[2]
技巧心得:J2ME学习札记3
JAVA题库:格林模拟试题三(下)(5)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛