Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Мобильная Java: СтатьиСтруктура MIDP UI API

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

Центральным звеном 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 являться интерактивным компонентом.


    Автор Mank
    www.midlet.ru

    Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

    Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

    Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
    Узнай о чем ты на самом деле сейчас думаешь тут.


    [an error occurred while processing this directive]



    Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

    Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

    Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95