import ...
public class MyMIDlet extends MIDlet{
...
final Canvas1 c1;
final Canvas2 c2;
...
public MyMIDlet(){
c1 = new Canvas1(this);
c2 = new Canvas2(this);
}
...
}
import ...
public class Canvas1 extends Canvas implements CommandListener{
MyMIDlet myMidlet;
Display disp;
Command switchDisp;
...
/**
*constructor
*/
public Canvas1(MyMIDlet myMidlet){
this.MyMIDlet = myMidlet;
disp = myMidlet.getDisplay();
switchDisp = new Command("switch", Command.SCREEN, 0);
this.addCommand(switchDisp);
this.setCommandListener(this);
}
...
public void paint(Graphics g){
g.setColor(255,255,255);
g.drawString("canvas1", 0, 0, 0);
}
...
public void commandAction(Command cmd, Displayable displayable){
disp.setCurrent(myMidlet.c2);
}
}
import ...
public class Canvas2 extends Canvas implements CommandListener{
MyMIDlet myMidlet;
Display disp;
Command switchDisp;
...
/**
*constructor
*/
public Canvas1(MyMIDlet myMidlet){
this.MyMIDlet = myMidlet;
disp = myMidlet.getDisplay();
switchDisp = new Command("switch", Command.SCREEN, 0);
this.addCommand(switchDisp);
this.setCommandListener(this);
}
...
public void paint(Graphics g){
g.setColor(255,255,255);
g.drawString("canvas2", 0, 0, 0);
}
...
public void commandAction(Command cmd, Displayable displayable){
disp.setCurrent(myMidlet.c1);
}
}
Отображаемый объект - это объект, который может быть размещен на дисплее. Класс Displayable реализует интерфейс Displayable.
Класс Display - это менеджер отображения, который создается для каждого активного мидлета и предоставляет методы для получения информации о возможностях отображения устройства. Холст становится видимым, вызывая метод Display.setCurrent ().
Холст реализует интерфейс Displayable.
Класс Displayable - это элемент пользовательского интерфейса, который может отображаться на экране устройства, в то время как класс Display абстрагирует функции отображения экрана реального устройства и делает их доступными для вас. Он предоставляет методы для отображения или изменения текущего элемента пользовательского интерфейса, который вы хотите отобразить. Таким образом, мидлет показывает элемент Displayable UI на Display с использованием метода setCurrent (Displayable element) класса Display.