在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);