Структура MIDP UI API

Автор: content Вторник, Апрель 10th, 2012 Нет комментариев

Рубрика: Java Mobile

Центральным звеном MIDP пользовательского интерфейса является screen. Каждое MIDP приложение имеет Display на котором одновременно может показываться только один Displayable объект. Приложение устанавливает текущий Displayable объект на Display, основываясь на поставленных задачах. Когда пользователь выбирает команды приложение уведомляется, и изменяет текущий Displayable объект, если это необходимо.

Displayable объект, является функциональной единицей, которая инкапсулирует специфичный для устройства графический интерфейс и взаимодействие с пользователем.


Рисунок 1. MIDP UI иерархия.Display отвечает за то какой Displayable объект должен показываться на экране. Существует только один Display экземпляр для одного мидлета. Метод Display.getDisplay() возвращает объект Display для мидлета. (Обычно этот метод вызывается в startApp() методе мидлета.)

Главным методом этого класса являеться метод setCurrent (javax.microedition.lcdui.Displayable next), который позволяет менять различные объекты на экране.

public javax.microedition.lcdui.Displayable getCurrent() метод возвращает текущий объект не экране.

Метод boolean isColor() возвращает true, если устройство поддерживает цвета.

Метод int numColor() возвращает количество поддерживаемых цветов (для ‘черно-белого’ варианта возвращает 2).

 

Displayable абстрактный класс имеющий 4 метода:
public boolean isShown() — метод говорит о том, показывается ли сейчас данный объект на экране устройства или нет.

public void addCommand (javax.microedition.lcdui.Command cmd) — метод добавляет команду к объекту. Устройство будет само определять добавить команду как softkey или поместить ее в меню. Если команда уже была добавлена, то второй раз она уже не добавиться.

public void removeCommand (javax.microedition.lcdui.Command cmd) — метод удаляет команду. Следует сказать что после вызова этих методов видимый эффект должен происходить сразу же.

public void setCommandListener(javax.microedition.lcdui.CommandListener l) — Устанавливает ‘слушателя’ для данного объекта заменяя при этом преведущий. То есть Displayable объект может иметь одновременно тольк одного ‘слушателя’.

 

Command имеет три параметра:
Label — Подсказка показываемая на экране
CommandType — тип команды. Этот параметр позволяет устройству распределить кнопки в соответствие с собственными установками устройства. Например, BACK команда может всегда быть правой softkey. Существует 8 типов: BACK, CANCEL, EXIT, HELP, ITEM, OK, SCREEN, и STOP.
Priority — приоритет команды
Объект Command не является изменяемым.

 

CommandListener — данный интерфейс используется приложением, чтобы получить уведомления о том, что пользователь выбрал комманду.
public void commandAction (javax.microedition.lcdui.Command c, javax.microedition.lcdui.Displayable s)
с — выбранная комманда.
d — текущий Displayable объект.

 

Существует два типа Displayable объектов.

  • Canvas: низкоуровневый объект который позволяет приложению самому обеспечивать отрисовку.
  • Screen: высокоуровневый объект который инкапсулирует пользовательский интерфейс

Любое приложение может использовать комбинации Screen и Canvas в своей работе. Например, в игрушках List и Form могут быть использованы для выбора настроек, а Canvas являться интерактивным компонентом.

Источник: http://www.javaportal.ru/mobiljava/articles/lcdui.html
Автор Mank

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты