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

Листинг 5.1. Исходный код UlComponentDemo

import javax.raicroedition.midlet.MIDlet;

import javax.microedition.lcdui.Choice;

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.Icdui.List;

/**

Демонстрируется использование высокоуровневых компонентов пользовательского интерфейса MIDP. Этот демонстрационный класс создает список демонстрационных программ для выбора пользователем. Элементы в списке являются на самом деле именами первичных классов демонстрационных программ. MID- лет создает экземпляр класса, представленного среди элементов списка, выбираемого пользователем и затем выполняемого им.

*/

public class UlComponentDemo extends MIDlet

implements CommandListener

private Command exit = new Command('Exit', Command.EXIT, 1);

// Имена различных демонстрационных программ: Элементы в этом списке

// являются именами первичных классов для каждой демонстрационной

// программы, private static String [] demos =

'AlertDemo',

'DateFieldDemo',

'GaugeDemo',

'StringltemDemo', 'TickerDemo',

'ImageltemDemo'

}i;

private static UIComponentDemo instance = null;

// Реальный компонент List, который отображает элементы,

// перечисленные в списке «demos» выше.

private List mainMenu = new List ('Select demo', Choice.IMPLICIT,

demos, null);

// Конструктор No-arg. public UIComponentDemo()

// Обратите внимание на вызов super(). Он выполняет

// конструктор no-arg в классе MID-лета. super ();

instance = this;

}

/**

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

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

*/

public static UIComponentDemo getlnstance()

{

return instance;

{

public void startApp()

{

Display display;

mainMenu.addCommand(exit);

mainMenu.setCommandListener(this);

*

display = Display.getDisplay(this);

display.setCurrent(mainMenu);

public void pauseApp()

{

}

void quit(),

destroyApp(true); notifyDestroyed();

)

public void destroyApp(boolean destroy)

(

}

public void display!)

}

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

}

public void commandAction(Command c, Displayabie d)

{

Displayabie displayable = null;

if (c == List.SELECT_COMMAND)

{

int index = mainKenu.getSeiectedlndex(); try

{

displayable = (Displayable)

Class.forName(demos[index]). new!nstance();

if (displayable == null)

}

return;

}

Display display = Display.getDisplay(this);

display.setCurrent(displayable);

}

catch (Exception e)

{

System.out.println('Got exception here!!!');

e. printStackTrace();

return;

}

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

0

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

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