Select your language:

Home Главная | Registration Регистрация | Login Вход

Menu Меню сайта
Statistics Статистика

Total online: Онлайн всего: 1
Guests: Гостей: 1
Members: Пользователей: 0
Study entry Форма входа
Логин:
Пароль:
Забыл пароль | Регистрация

Ссылки:


/ / команда выхода из приложения

private Command exitMidlet - new Command("Выход",

Command.EXIT r 1) ;

// объект класса Form

private Form myform = new Form( "Класс Gauge"); // объект mydisplay представляет экран телефона private Display mydisplay;

-

public MainClassGaugeO {

mydisplay = Display.getDisplay(this);

}

public void startApp () {

// добавить объект класса Gauge

myform.append(new Gauge("Прогресс , true, 10, 5 ));

// установка обработчика событий для Form

myform.addCommand(exitMidlet);

myform.setCommandListener(this);

// отразить текущий дисплей

mydisplay.setCurrent(myform)

}

public void pauseAppO {}

public void destroyApp(boolean unconditional) {>

public void commandAction (Command c, Displayable d) {

// выход из приложения if (с == exitMidlet) {

destroyApp (false) ,-notifyDestroyed();

}

}

Откомпилировав этот пример, вы увидите на экране прямоугольник, наполовину закрашенный темным цветом. Использование класса Gauge позволяет создавать экранные заставки отображающие, например, процесс загрузки приложения. Для того чтобы пользователь не наблюдал за черным экраном телефона в момент загрузки очередного процесса, создайте класс Gauge и используйте его по назначению.

6.3. Класс Alert

Использование класса Alert в Java 2 ME приложениях обусловлено возник-^новеннсмразличных внештатных ситуаций. В основном класс Ale rt применяется для создания экрана, который информирует пользователя об ошибке произошедшей в приложении или любом другом уведомлении информационного, характера. Экран, определенный классом Alert может содержать строковое уведомление о произошедшей ошибке либо текстовую строку с заданным изображением. В связи с этим, класс Alert имеет два, конструктора, использующихся в создании объектов этого класса. Первый конструктор содержит один параметр типа String, задавая строку те кета для уведомления. Рассмотрим первый конструктор класса kl ert.

public Alert (String title);

Параметры конструктора p ub 1 ic Al e rt:

□ title — строка текста.

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

public Alert (String title, String alertText, image alertlmage, AlertType alertType)

Параметры конструктора publ i с Al e rt:

□ title - название созданного экрана;

□ alertText - текст уведомления;

□ alertlmage - изображение;

□ alert/Гуре - тип уведомления, определяемый классом AlertType.

Существует пять типов уведомлений:

□ static AlertType ALARM - тревога;

О static AlertType CONFIRMATION - предупреждение о возможном действии, которое пользователь должен произвести;

□ static AlertType ERROR - ошибка;

□ static AlertType INFO - информационное сообщение;

□ static AlertTуpe WARNING - предупреждение.

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

6.3. U Методы класса Alert

Существует множество методов класса Alert, все они призваны создавать более насыщенные и информационные сообщения. Рассмотрим методы класса Alert.

Q void addCommand (Command cmd) - добавляет команду;

□ int getDef aultTimeout () - получает время для представления уведомления. Можно воспользоватьсяпе ременной FOREVEFvEpranocroHHHO-го представления экрана с объектом класса Ale rt;

□ Image getlmage () - получает изображение для экрана представленно-гоклассом Alert;

Q Gauge getlndicator

□ String getString () - получает текстовую строку;

□ int getTimeout () - получает заданное время для представления уведомления;

□ AlertType getType

□ void removeCommand

□ void setCommandListener (CommandListener 1) - устанавливает обработчик событий;

О void set Image (Image img) —устанавливает изображение; "О void setlndicator (Gauge indicator) - устанавливает индикатор

измерителя для использования класса Gauge; G void setString (String str) — устанавливает строку текста; Q void setTimeout (int time) - устанавливает время; Q void setType (AlertType type) - устанавливает тип уведомлений

или информационных сообщений.

Использовать возможности класса Ale rt в приложении необходимо. Уре-домления об ошибках и различные информационные сообщения улучшают пользовательский интерфейс разрабатываемой программы. В листинге 6.8 приводится простой пример, иллюстрирующий создание и отображении класса Alert на экране телефона. Исходный код примера находится в папке \Code\Listing6_8\src.

j **

Листинг б.& Класс Alert V

import javax.microedition.midlet.*; import javax.microedition.lcdui.*;

public class MainClassAlert extends MIDlet implements

Command!, is tener {

/ / команда выхода из приложения

private Command exitMidlet = new Command (" Выход" , Command.EXIT, 1)/

// объект класса Alert

public void commandAction(Command c, Displayable d) {

// выход из приложения if (с == exitMidlet) {

destroyApp (false) ,-notifyDestroyed();

}

}

. }

В листинге 6.8 создается класс MainClassAlert, являющийся основным классом мидлета. В самом начале всего кода происходит объявление необходимых переменных и в частности объекта al класса Ale rt. В методе startApp () создается объект класса Image, в котором будет содержаться загружаемое изображение. Изображение выполнено в виде информационной надписи об ошибке и находится в папке \Code\Listing6_8\res на прилагаемом к книге компакт-диске. На рис. 6.10 изображенаработа класса Alert.

Alert al;

// объект mydisplay представляет экран телефона private Display mydisplay;

/

public MainClassAlert ( )

{

mydisplay = Display .getDisplay

public void startAppO {

// перехватываем исключительную ситуацию try{

// загрузка изображения

Image image = Image.createlmage("/error.png");

// объект клас ca Alert

al = new Alert ( "Класс Alert", nul 1, image,

AlertType.ERROR) } catch С Java. io.IOException ex) { } al.addCommand(exitMidlet); al.setCommandListener(this) ; mydi splay.setCurrent

}

public void pauseAppO {}

public void destroyApp(boolean unconditional) {}

Рис 6.10. Информационное уведомление, созданное при помощи класса Alert

При загрузке изображения используется конструкция try {} catch(){} для обработки исключительных ситуаций. В остальном, я думаю, весь код ясен и каких-либо проблем с пониманием этой простой программы возникнуть не должно.

6.4. Класс List

Класс List не входит в иерархию класса Item, Использование класса List дает возможность создавать выбираемый список элементов, отображаемый на экране в виде одной или нескольких строк текста. Класс List наследуется от класса Screen и реализует возможности интерфейсаСгшгее. При создании выбираемого списка элементов необходимо указать тип создаваемого списка. Существует всего три типа списков, реализация которых основана на использовании интерфейса Choice:

□ EXCLUSIVE - предоставляет эксклюзивный выбор элемента в списке;

□ MULTIPLE - множественный выбор элементов из списка;

□ IMPLICIT - выбирает из списка только один элемент, на котором сфокусировал свое внимание пользователь.

Конструкция применения типов EXCLUSIVE и MULTIPLE напоминает использование этих типов в классе ChoiceGroup, а вот применение типа IMPLICIT возможно только с использованием класса List. При создании объекта класса List можно воспользоваться двумя видами конструкторов. Рассмотрим их более подробно.

public List (String title, int listType);

Параметры конструктора List:

О title - название создаваемого списка элементов;

□ listType - тип создаваемого списка, может быть одним из трех значений: IMPLICIT, EXCLUSIVE И MULTIPLE.

Этот конструктор с двумя параметрами создает пустой список с заданным типом в параметре listType. Второй конструктор класса List несколько сложнее. Он состоит из четырех параметров и создает многострочный список элементов с загрузкой иконки или изображения для каждого элемента.

public List(String title, int listType, String!] stringElements, Image[] imageElements)

Параметры конструктора List:

□ title — название создаваемого списка элементов;

□ listType - может быть однимиз трех значений IMPLICIT, EXCLUSIVE и MULTIPLE для определения типа создаваемого списка элементов;

□ stringElements - в этом параметре используется массив строк для создания списка элементов;

Q imageElements - с помощью этого параметра каждому из элементов можно загрузить свое изображение, чаще всего используются иконки маленьких размеров, например Юна 10пикселей.

Класс List имеет множество методов, с помощью которых можно производить редакцию списка элементов, выбор заданного элемента и многое другое. Разберем часть методов класса List.

Q int append (String stringPart, Image imagePart) -добавление спискаэле ментов;

О void delete (int elementNum) - удаление заданного элемента из списка;

Q void delete All () - удаление всех элементов; .

О Font getFont(int elementNum) — получает шрифт для заданного элемента в списке;

Q Image getlmagefint elementNum) - получает изображение для заданного элемента в списке;

□ int getSelectedFlags(boolean[] selectedArray_return)— возвращает состояние всех элементов в виде массива данных;

Q int getSelectedlndex () — получает выбранный индекс элемента в списке;

Q String getString (int elementNum) - получает строку текста для

выбранного элемента из списка; О void insert (int elementNum, String stringPart, Image

imagePart) - вставляет элемент в списокдо указанного номера элемента

в списке;

Q boolean isSelected(int elementNum) - получает выбранный элемент из списка;

Q void г emoveCommand (Command cmd) - удаляет команду для списка;

□ void set (int elementNum, String stringPart, Image imagePart) - вставляет новый элемент в список в замен предшествующего;

Q void setFont(int elementNum, Font font) - устанавливает шрифт заданному элементу в списке;

Q void setSeledtCommand (Command command) — этот метод предназначен для работы с типом IMPLICIT. Когда используется такой тип списка, то выбирается элемент, на котором сфокусирована в данный момент

6.4.1. Методы класса List

строка состояния. Этот метод позволяет определить, на каком элементе сфокусировано внимание пользователя. При этом используется такая запись: List.SELECT_COMMAND для определения выбранного элемента в списке;

□ void setSelectedFlags (boolean[J selectedArray) -устанавливает состояние выбранных элементов;

Q void setSelectedlndex(int elementNum, boolean selected) -устанавливает индекс выбранного элемента в списке;

Q void setTitle (String s) - добавляет название в список элементов;

Q int size () - с помощью этого метода можно узнать количество элементов в списке.

Теперь давайте создадим пример, описьшающий основные возможности класса List. Класс List может создавать три списка элементов: Exclusive, Ми1^р1еи1тр11с1^Используемэтувозможностъисоздадимкод, реализующий все три типа. Основная идея создания примера для класса List сводится к следующему: при входе в приложение пользователь попадает в главное окно со списком из двух элементов Multiple и Implicit, а сам список этих двух элементов будет создан на основе типа Exclusive. Ко всем элементам списка будут загружаться свои иконки. Выбрав один из двух элементов списка курсором, пользователь должен нажать клавишу команды Выбор для перехода в программе. Оба элемента списка Multiple и Implicit будут представлять два разных типа списка. Выбрав один из элементов Multiple или Implicit, пользователь попадает на новый экран. Каждый из выбранных списков будет содержать ряд элементов иллюстрирующих pa6oTyTHnoBMultipleH Implicit. Выбирая элементы из этих списков, пользователь будет получать информационное сообщение. В листинге 6.9 исходный код примера, а на компакт-диске исходный код размещается в папке \Code\Listing6_9\src.

Листинг б.9 Класс List */

import javax.microedition.midlet.*; import javax.microedition.ledui.*;

public class MainClassList extends MIDlet implements CommandListener {

/ / команда выхода из приложения

private Command exitMidlet = new - Command (" Выход " r Command.EXIT, 0) ;

// команда выбора элемента из списка private Command vibor = new Command("Выбор",

Command.SCREEN, 1) ;

// команда возврата в главное окно private Command vozvrat = new Command

// команда выбора элемента для типов Implicit и Multiple private Command OK = new Command( "OK" , Command. OK, 1) ; // массив иконок для типа EXCLUSIVE Image [] iconEx = null; // массив иконок для типа Multiple Image [] iconMu - null; // массив иконок для типа Implicit Image [] iconlm = null;

// объект класса List для типа EXCLUSIVE private List mylistEx;

// объект класса List для типа Multiple private List mylistMu;

// объект класса List для типа Implicit private List mylistlm;

// объект mydisplay представляет экран телефона private Display mydisplay;

public MainClassList ( )

{

mydisplay = Display. getDisplay (this),- ■

>

public void startAppO {

// перехватываем исключительную ситуацию

// поместить загруженные изображения в массив iconlm

iconlm = new Image[] {image4, image4 , image4};

} catch(java. io . IOException ex) { }

// текст для двух элементов списка

String[] st = {"ТипМи1ь1р1е" , "Тип Implicit"}; "

// инициализация объекта mylistEx mylistEx = new List ("Тип EXCLUSIVE",

Choice.EXCLUSIVE, st, iconEx) ;

I/ добавить команды mylistEx.addCommand(exitMidlet) ; rrylistEx .addCommand (vibor) ; mylistEx.setCommandListener(this);

// отразить текущий дисплей mydisplay.setCurrent(mylistEx) ;

}

public void pauseApp() {}

public void destroyApp (booleanunconditional) {}

public void commandAction (Command с, Displayable d) {

/ f выход из приложения if (С == exitMidlet)

{ i

destroyApp (false);, ,

notifyDestroyed() ;

}

// возврат в главное окно if (с == vozvrat)

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

/ / обработка команды OK

if (с == OK)

{

Alert al = new Alert (null, "Информационное убедомление", null, null) ;

mydisplay ,setCurrent(al) ;

}

// обработка команды vibor if(С == vibor)

// взять индекс выбранного элемента int i = mylistEx. getSelectedlndex () ,-

// события для элемента «Тип Multiple» if(i 0)

// текст для элементов списка

String[] string = {"Меч","Щит","Нож","Копье"}; // инициализация объекта mylistMu

mylistMu ='new List ("Тип MULTIPLE", Choice .MULTIPLE,

string, iconMu),-// добавить команду возврата mylistMu.addCommand(vozvrac); // добавить команду OK mylistMu.addCommand(OK); mylistMu.setCommandListener(this) ; f! отразить текущий дисплей mydisplay.setCurrenttmylistMu);

}

// события для элемента «Тип Irnplicit»

if(i == 1)

{

// текст для элементов списка

String[] string = { "Звук", "Видео", "Управление"};

// инициализация объекта mylistlm

mylistlm = new List("Twn IMPLICIT", Choice. IMPLICIT, string, iconlm) ;

// добавить команду возврата mylistlm.addCommand(vozvrat);

// добавить команду OK my 1 i s t Im. addCommand (OK); mylistlm. setCommandListener

// отразить текущий дисплей mydisplay.setCurrent(mylistlm);

}

} }

Влистинге 6.9 создан класс MainClassList, являющийся основным кла сом мидлета программы. В начале исходного кода создаются команды для выхр из приложения - exitMi diet, для выбора элемента из с пис ка - vib or, для вс врата в главное окно приложения - vozvrat и команда ОК, обрабатывают,; выбранныйэлементизгруппы.Закомандамиобработкисобытийследуетобъя ление трех переменных: iconEx, iconMu и iconlm. Все три переменные буд содержать массив изображений или иконок для трех рассматриваемых в этх примере типов Excius ive, Multiple и Implicit класса List. Затем в коде

private List mylistEx; private List mylistMu;


Для перехода к следующей странице статьи перейдите по вы подающему меню
Basket Корзина
Your basket is empty Ваша корзина пуста
'); $(el).append(g); $(g).show(); } _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'clear'}}); return false; } function removeBasket(id){ if(lock_buttons) return false; else lock_buttons = 1; $('#basket-item-'+id+' .sb-func').removeClass('remove').addClass('myWinLoadS').attr('title',''); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'del', 'id':id}}); return false; } function add2Basket(id,pref){ if(lock_buttons) return false; else lock_buttons = 1; var opt = new Array(); $('#b'+pref+'-'+id+'-basket').attr('disabled','disabled'); $('#'+pref+'-'+id+'-basket').removeClass('done').removeClass('err').removeClass('add').addClass('wait').attr('title',''); $('#'+pref+'-'+id+'-options').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+'-'+this.value);}); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value')}}); return false; } function buyNow(id,pref){ if(lock_buttons) return false; else lock_buttons = 1; var opt = new Array(); $('#b'+pref+'-'+id+'-buynow').attr('disabled','disabled'); $('#'+pref+'-'+id+'-buynow').removeClass('done').removeClass('err').removeClass('now').addClass('wait').attr('title',''); $('#'+pref+'-'+id+'-options').find('input:checked, select').each(function(){ opt.push(this.id.split('-')[3]+'-'+this.value);}); _uPostForm('',{type:'POST',url:'/shop/basket',data:{'mode':'add', 'id':id, 'pref':pref, 'opt':opt.join(':'), 'cnt':$('#q'+pref+'-'+id+'-basket').attr('value'), 'now':1}}); return false; } //-->
Search Поиск
Calendar Календарь
«  March Март 2011  »
Mon Пн Tues Вт Wed Ср Thurs Чт Fri Пт Sat Сб Sun Вс
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archive records Архив записей

Ссылки:

Rambler's Top100 Все для дома - Бытовая техника, опубликовать информацию о фирме
QLE 88x31

раскрутка сайта в интернете Рейтинг сайтов Товары / Услуги

Copyright MyCorp © 2011 Создать сайт бесплатно

Copyright MyCorp © 2011