Иллюстрированный самоучитель по программированию мобильных телефонов

Класс DateField

Перейдем к программному коду и рассмотрим пример, реализующий вывод на экран даты и времени одновременно. Все, что сейчас от нас требуется – это написание кода основного класса мидлета, создание пустой формы и встраивание в эту форму класса DateField. Также необходимо проследить наличие команды выхода из приложения. Все остальное за нас сделает Jаvа 2 ME, создав кнопки перехода и команду сохранения настроек даты и времени. В листинге 6.2 дается полный код примера к этому разделу.

Листинг 6.2. Класс DateField.

import javax.microedition.midlet.*;
import javax.microedition.Icdui.*;
public class MainClassDateField extends MIDlet implements
CoramandListener
{
// команда выхода из приложения
private Command exitMidlet = new Command("Выход",
Command.EXIT, 0);
// объект класса DateField
private DateField dt;
// объект класса Form
private Form myform;.
// объект mydisplay представляет экран телефона
private Display mydisplay;
public MainClassDateField()
{
mydisplay = Display.getDisplay(this);
}
public void startApp()
{
//инициализируем объект dt
dt = new DateField("Дата и Время", DateField.DATE_TIME);
// создаем форму при помощи объекта Form
myform = new Form("Встроенный DateField");
// добавить объект dt
myform,append(dt);
myform.addCommand(exitMidlet);
myform.setCommandListener(this);
// отразить текущий дисплей
mydisplay.setCurrent (myform);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d)
{
// выход из приложения
if(с == exitMidlet)
{
destroyApp(false),
notifyDestroyed();
}
 <strong>}</strong>
}
}

В примере создан класс MainClassDateField, соответствующий названию разбираемого класса. Сам по себе пример очень легкий в силу простоты реализации самого класса DateField. Первоначально создается объект dt для класса DateField, после этого происходит его инициализация в методе startАрр (). Создается форма классом Form и объект dt интегрируется в эту форму. Все остальное, а именно: циферблат и календарь, показанные на рис. 6.4, создаются автоматически с помощью эмулятора телефона при выборе одного из элементов класса. В нашем примере был создан объект dt класса DateField, но можно было этого и не делать, а обойтись, например такой простой записью:

Form f = new.Form(new DateField("Дата и Время", DateField.DATE_TIME);

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

После того, как вы откомпилируете этот пример и запустите приложение, на экране появятся два элемента с надписями time и date. Выбрав один из элементов и нажав на кнопку Select, вы попадете, в зависимости от выбора, на экран с календарем или временем, изображенным на рис. 6.4. С помощью джойстика или клавиш перемещения, можно установить необходимые параметры для обоих элементов.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.