Таблица 3.3. Методы класса формы для добавления элементов в объект Form

Название метода класса формы — Описание

public int append (Item item) — К данной форме добавляется объект Item

public int append (String string) — К данной форме добавляется объект String

public int append (Image image) — К данной форме добавляется объект Image

Класс Form реализует абстракции, необходимые для отображения объектов String, Image и Item. Он также отвечает за реализацию политики организации объектов, которые были к нему добавлены. Другими словами, реализация Form определяет политику расположения.

Тем не менее, в MIDP нет понятия диспетчеров расположения, которыми мог манипулировать программист на AWT или Swing. Спецификация MIDP рекомендует, чтобы реализации Form сопровождались компоновкой, но она не устанавливает обязательных правил. Реализации могут варьироваться в способе, которым они осуществляют компоновку формы.

Иерархия Item определяет визуальные компоненты. Вы должны, однако, различать эти компоненты, которые имеют визуальное представление и отображаемые компоненты, которые являются компонентами высшего уровня. Отражены могут быть конкретные подклассы Itern. Однако они не могут быть отображены независимо как компоненты высшего уровня Screen. Более того, они могут быть отображены только с помощью объекта Fo rm, но не другого типа Screen.

Рисунок 3.7. Диаграмма наследования компонентов пользовательского интерфейса MIDP показывает связи между MID-летом, связанным с ним объектом Display и его объектами Displayable. Если не определено иное, все классы принадлежат пакету javax.microedition.lcdui. абстрактный класс, конкретный класс

Системные свойства

CLDC/MIDP поддерживает системные свойства, которые являются парами «ключ-значение», представляющими информацию о платформе и среде, в которой выполняются приложения MIDP. Теоретически это тот же тип свойств, который вы найдете в J2SE. К сожалению, в CLDC/MIDP нет класса Java.util.Properties для облегчения вашей работы со свойствами.

Спецификация MIDP определяет только небольшой набор стандартных свойств, которые показаны в таблице 3.4. Реализации могут поддерживать дополнительные системные свойства определенных производителей, но необязательно. Вы должны знать о том, свойства какого производителя или платформы вы используете для того, чтобы предупреждать проблемы с мобильностью.

Как и приложения J2SE, приложения MIDP могут отыскивать системные свойства с помощью класса java.lang.System. Чтобы узнать значение свойства, используйте метод класса System String getProperty(String key)

Этот метод извлекает нужные значения, связанные с ключами, чьи значения указываются в запросе.

Таблица 3.4. Стандартные системные свойства CLDC

Ключ свойства — Описание — Значение по умолчанию

miсгoedition.configuration — Название и версия поддерживаемой конфигурации — CLDO1.0

microedition.encoding — Набор знаков кодировки по умолчанию, используемый платформой — IS08859-1

microedition.locale- Название текущей местной среды платформы — нуль

microedition.platform — Название платформы или устройства — нуль

microedition.profiles — Названия всех поддерживаемых профилей — нуль

Листинг 3.2 иллюстрирует отслеживание системных свойств в MID-лете. Код дополняет пример, указанный в листинге 3.1.

Листинг 3.2. MID-леты имеют прямой доступ ко всем четырем стандартным системным свойствам, определяемым спецификацией CLDC

import javax.microedition.Icdui.Display;

import javax.microedition.Icdui.Displayable;

import javax.microedition.Icdui.Form;

import javax.microedition.midlet.MIDlet;

/**

Создание программы «Hello world» в J2ME MIDP.

Заметьте, что класс должен быть открытым, для того чтобы программа управления приложениями устройства могла создать его экземпляр.

*/

public class HelloWorld extends MIDlet

public void startApp()

{

// Создайте элемент Displayable. form = new Fo.rmC'Hello World');

// Добавьте строку в форму. String msg = 'My first MIDlet!'; form.append(msg);

// Это приложение просто выводит на экран одну форму, созданную выше.

display = Display.getDisplay(this);

display.setCurrent(form);

printSystemProperties();

/**

Вывести значения стандартных системных свойств С помощью вызова System.getProperty().

*/

protected void printSystemProperties()

String conf;

Вы читаете Платформа J2Me
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату