Класс Stringltem
В коде листинга 6.4 для наглядности не использовался конструктор основного класса мидлета MainClassStringltem, но добавлялся, как уже упоминалось новый интерфейс ItemCommandListener для установки обработки команд перехода в приложении. В методе startApp () происходит создание пустой формы для класса Form и интеграция класса Stringltem. В строке кода:
Stringltem si = new Stringltemf"Метку", "Текст");
Создается простой статический текст и выводится на дисплей телефона. Следующий блок кода:
Stringltem s2 =new Stringltem("Гиперссылка", "www.dmk.ru",Item.HYPERLINK); s2.setDefaultCommand(perexodHyperlink); s2.setItemCommandListener(this); myform.append(s2); Stringltem s3 = new Stringltem("Кнопка","Опции"",Item.BUTTON); s3.setDefaultCommand(perexodButton); s3.setltemCommandListener(this); myform.append(s3);
Формирует текст на экране телефона, назначив для него обработчик событий при помощи метода setltemCommandListener(). Можно получить текст в виде активной ссылки. При создании объекта s2 класса Stringltem использовался конструктор с тремя параметрами. Последний параметр этого конструктора как раз и отвечает за вид создаваемой ссылки. Была создана гиперссылка с помощью константы HYPERLINK. Блоком кода с объектом s3 уже создавалась кнопка. Эта кнопка является так же простым статическим текстом, но оформленным в виде прямоугольной кнопки. Объекту s3 так же назначается обработчик событий методом setltemCommandListener (), благодаря чему и получается активная ссылка. Выбрав ее можно перейти в нужное место в приложении.
Теперь наша программа имеет два одноименных обработчика событий с разными параметрами, представленными двумя интерфейсами CommandListener и ItemCommandListener. Обработчик событий созданный при помощи метода commandAction (Command с, Item i), следит за двумя активными ссылками, выполненными в виде гиперссылки и кнопки. Выбрав одну из активных ссылок и воспользовавшись соответственной командой перехода perexodButton – для кнопки и реrexodHyperlink, вы попадете на экран с новой формой и информационной надписью.
Оба новых экрана созданы классом Form, где так же имеются две команды: exitMidlet – для выхода из приложения и vozvrat – для возврата в основное окно. Эти две команды обрабатываются своим методом commandAction(Command с, Displayable d) интерфейса CommandListener. Для того, чтобы создать активную ссылку, необходимо воспользоваться интерфейсом ItemCommandListener, реализовав метод commandAction () для обработки необходимых событий. Рис. 6.6 показывает экран эмулятора с несколькими элементами класса Stringltem.
Рис. 6.6. Элементы класса Stringltem