Чтение онлайн

на главную - закладки

Жанры

Шрифт:

import jav,ax.micro etiition.lcdui. Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.TextBox;

import javax.microedition.lcdui.TextField;

import javax.microedition.midlet.MIDlet;

/**

Этот MID-лет демонстрирует использование отображаемого элемента TextBox пользовательского интерфейса MIDP.

@смотри javax.microedition.Icdui.TextBox

* /

public class TextBoxDemo extends MIDlet implements CommandListener

private Command quit = new Command("Exit", Command.EXIT, 1);

private static TextBoxDemo instance;

//

Компонент пользовательского интерфейса TextBox. private TextBox textBox;

// Максимальное число знаков, которое TextBox может

// поддерживать. private int MAX_SIZE = 100;

// Первоначальный текст в TextBox. private String initialText =

"You can edit the contents of this TextBox";

/**

Конструктор.

*/

public TextBoxDemo

super ; instance = this;

}

public void pauseApp

{

.

}

public void destroyApp(boolean destroy)

}

textBox = null; initialText = null; instance = null;

}

void quit

}

destroyApp (true);

notifyDestroyed;

public void startApp

{

texcBox = new TextBoxC'A TextBox", initialText, MAX_SIZE,

TextField.ANY); сextBox.addCommand(quit); textBox.setCommandListener(this);

display;

}

/**

Возвращает единственный экземпляр этого класса. Вызов этого метода до создания объекта возвратит пустой указатель.

@возращает экземпляр класса.

*/

public static TextBoxDemo getlnstance

return instance;

}

public void display!)

{

Display. getDisplay(this). setCurrent(textBox);

}

public void commandAction(Command c, Displayable d)

if (c == quit)

{

quit;

}

}

}

Вы можете видеть из конструктора, что TextBox сходен с TextField, за исключением того, что он является многострочной текстовой областью. Аргументами являются заголовок, первоначальный текст, максимальное количество знаков, которое он может поддерживать, и ограничения ввода. Ограничения являются абсолютно теми же, что и в классе TextField.

На рисунке 5.11 изображен первоначальный текст, используемый для создания экземпляра TextBox. Как и в случаях с другими редактируемыми объектами, вы просто выбираете TextBox с помощью кнопки выбора Select эмулятора и затем редактируете содержимое. Вы можете переходить с помощью четырех клавиш стрелок, стирать знаки с помощью клавиши Clear (Очистить) и вводить их с помощью кнопочной панели, либо компьютерной клавиатуры при использовании эмулятора. Конечно, программа может также манипулировать содержимым с помощью API, который поддерживает вставку, удаление, установку максимального размера, установку ограничений и так далее. На рисунке 5.12 показан экран после выбора текстового окна для редактирования.

Рисунок 5.12.

Конкретный интерфейс, предоставляемый для редактирования текстового окна, зависит от реализации

Выводы по главе

Эта глава знакомит вас с полным набором классов компонентов пользовательского интерфейса MIDP. Существует две общие категории компонентов интерфейса пользователя: те, что расположены под Displayable в иерархии, и те, что находятся под иерархией Item.

Класс Screen происходит непосредственно из Displayable и определяет основные абстракции в MIDP. Приложения MIDP в своей основе базируются на экранах.

Form, вид Screen, является только разновидностью экрана, которая может включать другие компоненты. Form может содержать объекты String, изображения, определяемые классом Image, и объекты, чьи типы являются подклассами класса Item.

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

В главе 3 представлена полная программная структура и метафоры программирования. В главе 4 описан высокоуровневый API MIDP. Эта глава дополняет все это знакомством с компонентами MIDP, которые реализуют высокоуровневый API.

В следующей главе вы познакомитесь с низкоуровневым API MIDP.

Глава 6. Низкоуровневый программный интерфейс приложения (API) MIDP

В этой главе вы узнаете, как использовать низкоуровневый программный интерфейс приложения MIDP, который является одним из двух программных интерфейсов приложения компонентов пользовательского интерфейса MIDP. О первом API MIDP, высокоуровневом, вы узнали в главе 4. Низкоуровневый API дает вам возможность делать то, что в высокоуровневом API осуществлять было невозможно:

получать низкоуровневую информацию о событиях (такую, как информация о нажатии клавиш), которую получает ваш компонент; определять внешний вид своего компонента пользовательского интерфейса. Два класса составляют определение низкоуровневого API: javax.microedition.lcdui. Canvas; javax.microedition.lcdui.Graphics.

На рисунке 6.1 воспроизводится часть диаграммы иерархии наследования MIDP, приведенной на рисунке 5.1. Вы можете видеть, что класс Canvas происходит из Displayable.

< image l:href="#"/>

Рисунок 6.1. Объекты Canvas отображаются на экране, но поскольку они не являются экранами, они не используют какие-либо элементы абстракции экрана, представленной в компонентах высокоуровневого пользовательского интерфейса MIDP

Однако, поскольку класс Canvas не является типом Screen, он не использует ни одной абстракции, определяемой иерархией Screen, например, добавление заголовка или тикера невозможно.

Поделиться:
Популярные книги

Тройняшки не по плану. Идеальный генофонд

Лесневская Вероника
Роковые подмены
Любовные романы:
современные любовные романы
6.80
рейтинг книги
Тройняшки не по плану. Идеальный генофонд

Барон играет по своим правилам

Ренгач Евгений
5. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Барон играет по своим правилам

Завод-3: назад в СССР

Гуров Валерий Александрович
3. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Завод-3: назад в СССР

Секретарь лорда Демона

Лунёва Мария
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Секретарь лорда Демона

Отец моего жениха

Салах Алайна
Любовные романы:
современные любовные романы
7.79
рейтинг книги
Отец моего жениха

Идеальный мир для Лекаря 10

Сапфир Олег
10. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 10

Я тебя не отпущу

Коваленко Марья Сергеевна
4. Оголенные чувства
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Я тебя не отпущу

Бастард Императора. Том 7

Орлов Андрей Юрьевич
7. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 7

Девочка из прошлого

Тоцка Тала
3. Айдаровы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Девочка из прошлого

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Хозяйка дома на холме

Скор Элен
1. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка дома на холме

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9