public class Navigator extends MIDlet
Листинг 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);
} }
В следующей главе будут изучаться классы высокоуровневого интерфейса, с помощью которых создаются списки, группы элементов, текстовые поля и множество других элементов пользовательского интерфейса.
Содержание раздела