создаем класс Perexod public class
Листинг 5.2
Переход с экрана на экран */ // подключаем пакеты import javax.microedition.midlet.*; import javax.microedition..lcdui. *; // создаем класс Perexod public class Perexod extends MIDlet implements CommandListener { // команда выход из программы private Command exitMidlet; // команда перехода в программе private Command perexodTextBox; private Command perexodList; private Command perexodAlert; // дисплей private Display mydisplay; // конструктор класса Perexod public Perexod() { mydisplay = Display.getDisplay(this);
// выход из приложения exitMidlet = new Command("Выход", Command.EXIT, 1);
// переход TextBox perexodTextBox = new Command("Перейти", Command.SCREEN, 2);
} // входная точка всей программы public void startApp() { // создаем объект класса Form Form myform = new Form("Это объект класса Form");
// добавляем команду выхода из программы myform.addCommandfexitMidlet);
// добавляем команду перехода в TextBox myform.addCommand(perexodTextBox);
// устанавливаем обработчик событий для команд объекта класса 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) { TextBox tb = new TextBox("TextBox", "Текст", 256, 0);
perexodList = new Command("Перейти",Coramand.SCREEN, 2);
tb.addCommand(exitMidlet);
tb.addCommand(perexodList);
tb.setCommandListener(this);
Display.getDisplay(this).setCurrent(tb);
} // обработка команды перехода в List if (с == perexodList) { List mylist = new List("List", List.IMPLICIT);
perexodAlert = new Command("Перейти", Command.SCREEN, 2);
mylist.addCommand(exitMidlet);
mylist.addCommand(perexodAlert);
mylist.setCommandListener(this);
Display.getDisplay(this).setCurrent(mylist);
} // обработка команды перехода в Alert if (с == perexodAlert) { Alert myalert = new Alert("Alert","Текст",null,null);
Display.getDisplay(this).setCurrent(myalert);
} } }
После компиляции примера пройдите по всей программе и убедитесь, что вам понятна общая идея и принцип работы смены экранов, на которых строятся все приложения в Java 2 ME.
Содержание раздела