技巧心得:J2ME学习札记2

来源:java认证发布时间:2012-11-12 12:47:33java认证视频

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");
  }
  

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答