Навигация
Итак, к каждому из задействованных классов нам надо добавить набор команд для перехода на нужный экран и обработать, а точнее, создать код, реагирующий на назначенные команды. Рис. 5.8 живописно изображает и отчасти решает поставленную перед нами задачу.
Теперь сосредоточимся на одном из вариантов программного кода, решающего проблему с навигацией. Первым делом создадим класс, назвав его Navigator.
public class Navigator extends MIDlet implements CommandListener

Рис. 5.8. Схема перехода с экрана на экран
В исходном коде до строк вызова конструктора класса Navigator, добавим объект, содержащий команду Выход:
private Command exitMidlet = new Command("Выход", Command.EXIT, 1);
Потом необходимо создать четыре объекта для каждого из задействованных классов Form, TextBox, List и Alert, Созданные объекты будут отвечать за обработку команд перехода на экран, представленные соответствующими классами.
private Command perexodTextBox = new Command("В TextBox",
Command. SCREEN, 2);
private Command perexodList = new CommandC'B List",
Command.SCREEN, 2);
private Command perexodAlert = new CommandC'B Alert",
Command.SCREEN, 2);
private Command perexodForm = new CommandC'B Form",
Command.SCREEN, 2);
Информативные названия всех объектов понятны, но, естественно, выбранные мною названия ни к чему вас не обязывают. Созданные объекты являются объектами класса Command, отвечающего за создание команд, которые в последствии можно определить для каждого из классов Form, TextBox, List и Alert. Позже, в коде мидлета, мы будем задавать соответствующие блоки обработки событий непосредственно в методе commandAction () при помощи оператора if и созданных объектов.
Теперь нам нужно объявить и инициализировать объекты четырех классов Form, TextBox, List и Alert.
private Form my form = new Рогт.("Это объект класса Form");
private List
mylist = new List("Это объект класса List", List.IMPLICIT);
private TextBox
mytextbox = new TextBox("Это TextBox", "Текст", 256, 0);
private Alert
myalert = new Alert("Это Alert","Alert исчезнет",null,null);
private Display mydisplay;
В конструкторе класса Navigator происходит инициализация объекта:
mydisplay.
public Navigator()
{
mydisplay = Display.getDisplay(this);
}
