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

Навигация

Листинг 5.3. Навигация в приложении.

import javax.microedition.midlet.*;
import javax.microedition.Icdui.*;
public class Navigator extends MIDlet implements
CommandListener
{
// команда выхода из приложения
private Command
exitMidlet = new Command("Выход", Command.EXIT, 1);
// команда перехода в TextBox
private Command
perexodTextBox = new Command("B TextBox", Command.SCREEN, 2);
// команда перехода в List
private Command
perexodList = new Command("B List", Command.SCREEN, 2);
// команда перехода в Alert
private Command
perexodAlert = new Command("B Alert", Command.SCREEN, 2);
// команда перехода в Form
private Command perexodForm= new Command("B Form",
Command.SCREEN, 2);
// объект класса Form
private Form myform = new Form("Это объект класса Form");
// объект класса List
private List
mylist = new List("Этообъект класса List",
List.IMPLICIT);
// объект класса TextBox
private TextBox
mytextbox = new TextBox("Это TextBox",
"Текст", 256, 0);
// объект класса Alert
private Alert
myalert = new Alert("Это Alert","Alert
исчезнет",null,null);
// объект mydisplay представляет экран телефона
private Display mydisplay;
public Navigator()
{
mydisplay = Display.getDisplay(this);
}
public void startApp()
{
// добавить команды перехода в Form
myform.addCommand(exitMidlet);
myform.addCommand(perexodTextBox);
myform.addCommand(perexodList);
myform.addCommand(perexodAlert);
// установка обработчика событий для Form
myform.setCommandListener (this);
// отразить текущий дисплей
mydisplay.setCurrent(myform);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d)
{
// выход из приложения
if (с = = exitMidlet)
{
destroyApp(false);
notifyDestroyed();
}
// переход в TextBox
if (с == perexodTextBox)
{
mytextbox.addCommand(exitMidlet);
mytextbox.addCommand(perexodForm);
mytextbox.addCommand(perexodList);
mytextbox.addCommand(perexodAlert);
mytextbox.setCommandListener(this);
mydisplay.setCurrent(mytextbox);
}
// переход в List
if (c == perexodList)
{
mylist.addCommand(exitMidlet);
mylist.addCommand(perexodForm);
mylist.addCommand(perexodAlert);
mylist.addCommand(perexodTextBox);
mylist.setCommandListener(this);
mydisplay.setCurrent(mylist);
}
// переход в Alert
if (c == perexodAlert)
{
mydisplay.setCurrent(myalert);
}
// переход в Form
if (c == perexodForm) mydisplay.setCurrent(myform);
}
}

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.