Иллюстрированный самоучитель по программированию мобильных телефонов

Навигация

Итак, к каждому из задействованных классов нам надо добавить набор команд для перехода на нужный экран и обработать, а точнее, создать код, реагирующий на назначенные команды. Рис. 5.8 живописно изображает и отчасти решает поставленную перед нами задачу.

Теперь сосредоточимся на одном из вариантов программного кода, решающего проблему с навигацией. Первым делом создадим класс, назвав его Navigator.

public class Navigator extends MIDlet
implements CommandListener

Иллюстрированный самоучитель по программированию мобильных телефонов › Механизм работы приложений Java 2 ME › Навигация
Рис. 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);
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.