Пользовательские компоненты Visual Mobile Designer: использование элементов таблицы в приложениях Java ME
Visual Mobile Designer (VMD) позволяет разрабатывать приложения Java ME, используя функцию перетаскивания компонентов. С ее помощью можно задавать поток операций в приложении, а также общий стиль пользовательского интерфейса при использовании компонентов, поставляемых средой IDE или при использовании самостоятельно разработанных компонентов. VMD имеет в своем составе много стандартных компонентов, которые можно использовать для создания приложения: Lists, Alerts, Forms, Images и многие другие. Сюда также входят пользовательские компоненты, упрощающие создание многих сложных компонентов, например, экранов ожидания, заставок и экранов входа в систему.
Компонент TableItem позволяет быстро создавать таблицы, состоящие из одного или нескольких столбцов, каждый с областью заголовка и областью данных, повторяющихся для каждой записи. Таблицы могут быть больше экрана как по вертикали, так и по горизонтали. Пользователи могут использовать курсор для прокрутки в любом направлении. Использование компонента TableItem из Visual Mobile Designer (VMD) упрощает проектирование и реализацию таблиц в приложениях Java ME.
Если вы ранее не разрабатывали мобильные приложения в среде NetBeans, начните с изучения Краткого руководства пользователя по NetBeans Java ME MIDP.
Примечание. При использовании среды IDE NetBeans 6.8 обратитесь к учебному курсу Использование элементов таблицы в приложениях Java ME среды IDE NetBeans 6.8.
Содержание
Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.
Принципы работы компонента TableItem
В данном примере показано, как использовать компоненты TableItem и TableModel в мобильном приложении. Демонстрируются основные свойства компонентов, а также принципы их использования для визуализации и управления данными в приложении Java ME внутри компонента SimpleTableModel. Пользовательский компонент TableItem, обсуждаемый в этом учебном курсе, использует таблицу из интерфейса SimpelTableModel, отображает данные и даже позволяет пользователям изменять их.
Помимо пользовательского компонента TableItem необходимо использовать два других компонента MIDP: TextBox и Form. Дополнительные сведения об этих и других пользовательских компонентах, входящих в палитру VMD, приведены в руководстве по палитре Visual Mobile Designer.
Установка и выполнение примера приложения
Перед тем как приступить к учебному курсу можно ознакомиться с окончательным результатом этой работы. Для установки примера приложения TableItemExample выполните следующие действия.
- Загрузите файл TableItemExample.zip.
- Распакуйте файл.
- В среде IDE откройте меню Файл, выберите команду Открыть проект и перейдите к папке с распакованным файлом.
- Откройте окно "Project". На экране должно быть следующее:

- В окне "Проекты" щелкните узел проекта правой кнопкой мыши и выберите команду "Выполнить проект" или нажмите клавишу F6. После запуска приложения откроется окно эмулятора, отображающее это приложение, которое выполняется в эмуляторе устройства по умолчанию.
- В окне эмулятора нажмите кнопку под элементом "Launch." Эмулятор выводит на экран таблицу, как показано ниже:
- Изменение таблицы:
- для перемещения курсора из ячейки в ячейку используйте стрелки на кнопке "Select";
- для изменения содержимого ячейки нажмите кнопку под элементом "Edit Cell".
- Для закрытия приложения нажмите кнопку под элементом "Exit".
В начало
Создание таблицы с пользовательским компонентом TableItem
Теперь, после ознакомления с компонентом TableItem, можно рассмотреть процедуру создания этого приложения. Для создания приложения необходимо выполнить действия, указанные ниже.
- Создание проекта MyTableExample
- Добавление пакетов и визуального мидлета к проекту MyTableExample
- Добавление компонентов к проекту MyTableMIDlet
- Изменение проекта SimpleTableModel
- Добавление команд к компонентам Form и TextBox
- Соединение компонентов для создания потока операций в приложении
- Вставка исходного кода
- Выполнение проекта
Создание проекта MyTableExample
- Выберите в меню Файл команду Создать проект (CTRL+SHIFT+N). В разделе "Категории" выберите "Java ME". В разделе "Projects" выберите "Mobile Application" и нажмите "Next".
- Введите
MyTableExample в поле "Project Name". В поле "Project Location" укажите локальный каталог. Далее в тексте этот каталог будет называться каталогом $PROJECTHOME.
- Снимите флажок с параметра "Create Hello MIDlet". Нажмите кнопку "Next".
- Оставьте "Sun Java Wireless Toolkit 2.5.2" в качестве выбранной платформы эмулятора. Нажмите кнопку "Finish".
Добавление пакетов и визуального мидлета к проекту "MyTableExample"
- Выберите проект
MyTableExample в окне "Проект", откройте меню Файл и выберите команду Создать файл (CTRL+N). В области "Категории" выберите "Java". В разделе "File Types" выберите "Java Package". Нажмите кнопку "Next".
- Введите
tableitemexample в поле "Package Name". Нажмите кнопку "Готово".
- Выберите пакет
tableitemexample в окне "Проект", откройте меню Файл и выберите команду Создать файл (CTRL+N). В разделе "Categories" выберите "MIDP". В разделе "File Types" выберите "Visual MIDlet". Нажмите кнопку "Next".
- Введите
MyTableItemMidlet в поля "MIDlet Name" и "MIDP Class Name". Нажмите кнопку "Finish".
Добавление компонентов к проекту "MyTableItemMidlet"
- Переключите визуальный мидлет на представление "Flow". Перетащите следующие компоненты "Screen" из окна "Palette" в окно "Flow Designer":
- Выберите компонент textBox и установите значение свойства компонента Title в окне "Свойства" равным Edit.
- Дважды щелкните компонент form, чтобы переключиться к представлению "Экран".
- Перетащите компонент Table Item из раздела "Элементы" палитры компонентов в компонент form. Компонент Table Item, добавленный в Screen Designer, выглядит следующим образом:

- Выберите компонент tableItem, откройте окно "Свойства" и введите
TableItem Example в качестве значения свойства Label.
- Щелкните компонент tableItem правой кнопкой мыши и выберите команду "Свойства" во всплывающем меню.
- Щелкните стрелку (
) в свойстве Table Model и выберите команду <Создать SimpleTableModel> в раскрывающемся списке
- Выберите "Close".
Компонент simpleTableModel добавляется в раздел "Ресурсы".

Изменение SimpleTableModel
- В представлении "Экран" дважды щелкните компонент <Модель таблицы не определена>, чтобы открыть диалоговое окно "Значения".
- В диалоговом окне "Значения" выберите параметр "Использовать заголовок".
- Нажмите кнопку "Добавить строку" и "Добавить столбец" четыре раза, чтобы увеличить количество строк и столбцов на 4.
- Переименуйте заголовки таблицы в column 1, column 2, column 3 и column 4.
- Для завершения нажмите "OK".
Добавление команд к компонентам Form и TextBox
- Откройте представление потока операций.
- Выберите элемент Команда выхода в разделе "Команды" на палитре компонентов. Перетащите ее в компонент form. Повторите эту операцию для команды Item.
- Выберите itemCommand в представлении "Экран". Откройте окно "Свойства" и измените значение свойства Label на Edit Cell.
- В представлении потока операций выберите команду Ok из раздела "Команды" палитры компонентов и перетащите ее в компонент textBox.
Соединение компонентов
Откройте представление потока операций, щелкните команду Запущено элемента "Мобильное устройство" и перетащите его в компонент form. Аналогичным образом соедините другие компоненты, как показано на следующем рисунке.

Вставка исходного кода
- Перейдите к представлению "Source".
- Найдите метод getOkCommand в исходном коде (строка 198) и вставьте следующий код после кода okCommand = new Command("Ok", Command.OK, 0); вместо комментария // write post-init user code here:
} else if (command == itemCommand) {
/* Эта часть кода выполняет
* получение значений из модели таблицы
*/
if (textBox != null) {
// Получение положения курсора в таблице.
int row = tableItem.getSelectedCellRow();
int column = tableItem.getSelectedCellColumn() ;
// Получение значения из модели таблицы
Object value = simpleTableModel.getValue(column,row);
// Установка значения textBox
if (value != null)
textBox.setString(value.toString());
else
textBox.setString("");
}
- Щелкните маркер ошибки (
) в строке 207 и выберите во всплывающем меню команду Создать поле в tableitemexample.MyTableItemMidlet, как показано на следующем рисунке.

- Найдите метод getItemCommand в исходном коде (строка 189) и вставьте следующий код после кода itemCommand = new Command("Edit Cell", Command.ITEM, 0); вместо комментария // write post-init user code here:
/* Эта часть кода ответственна за
* получение значения из модели таблицы
*/
if (textBox != null) {
// Получение позиции курсора в таблице.
int row = tableItem.getSelectedCellRow();
int column = tableItem.getSelectedCellColumn() ;
// Получение значения из модели таблицы
Object value = simpleTableModel.getValue(column,row);
// Установка значения textBox
if (value != null)
textBox.setString(value.toString());
else
textBox.setString("");
}
Запуск проекта
Для запуска главного проекта нажмите клавишу F6 или выберите в меню Выполнить команду Выполнить главный проект.
В начало
Документация Javadoc по компонентам TableItem и SimpleTableModel
Среда IDE NetBeans предоставляет документацию Javadocs по API-интерфейсу для компонентов TableItem или TableModel, а также для других компонентов, которые можно использовать в VMD. Чтобы просмотреть документацию Javadocs для компонентов TableItem и TableModel, выполните следующие действия:
- Наведите курсор на компоненты TableItem и TableModel в исходном коде и нажмите сочетание клавиш CTRL+SHIFT+ПРОБЕЛ или выберите в меню Исходный код команду Показать документацию.
Во всплывающем окне появится документация Javadoc по этому элементу.
- Щелкните значок команды "Показать документацию во внешнем веб-обозревателе" (
) во всплывающем окне, чтобы просмотреть подробные сведения о компоненте TableItem или TableModel в обозревателе.
В начало
Дополнительные сведения
В начало