如何实现在不同screen的切换

2014-11-23 21:27:02 · 作者: · 浏览: 49

  在midlet开发中,屏幕只有一个。如果需要显示不同的内容,可以在后台先准备好要显示的内容,然后通过Display.setcurrent(displayable d)函数来解决这个问题。


  但是如何控制显示不同的内容呢?如果是程序里自动控制,那么就不存在这个问题;如果需要用户干预,进行屏幕的切换,又是如何实现的呢?


  其实思路也很简单,为每个屏幕设置相应的menu,然后这些menu的控制,统一由一个类来处理,那么就可以实现不同屏幕之间的切换了。


  package hello;


  import javax.microedition.midlet.*;


  import javax.microedition.lcdui.*;


  public class HelloMIDlet extends MIDlet implements CommandListener {


  private Command exitCommand; // The exit command


  private Command view;


  private Display display; // The display for this MIDlet


  private TextBox t;


  private MyCanvas m;


  public HelloMIDlet() {


  display = Display.getDisplay(this);


  exitCommand = new Command("Exit", Command.EXIT, 0);


  view = new Command("View", Command.ITEM, 1);


  }


  public void startApp() {


  t = new TextBox("Hello", "Hello, World!", 256, 0);


  t.addCommand(exitCommand);


  t.addCommand(view);


  t.setCommandListener(this);


  MyCanvas m=new MyCanvas();


  m.addCommand(exitCommand);