Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° J2MeΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 19

Автор Автор нСизвСстСн

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.Icdui.TextField;

/**


ДСмонстрируСт использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Alert.


*/

public class AlertDemo extends Form implements CommandListener

{

private Command go = new Command("Go", Command.SCREEN, 1);

private Command back = new Command ("Back", Command.BACK, 1);

private ChoiceGroup type; private TextField tPref;

private String [] elements =

{

"Alarm", Β«ConfirmationΒ», Β«ErrorΒ», Β«InformationΒ», "Warning");

// Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ/ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ экраны ΠΌΠΎΠ³Π»ΠΈ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ

// Π½Π° экзСмпляр этого класса, private static Displayable instance;

/**


ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.


*/

public AlertDemo()

{

'super ("Build alert");

type = buildAlertTypeSelection ();

tPref = buildTimeoutPrefPrompt();

append(type); appendftPre();

addCommand(go); addCommand(back);

setCommandListener(this); instance = this;

}

/**


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ СдинствСнный экзСмпляр этого класса. Π’Ρ‹Π·ΠΎΠ² этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ созданиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠŸΡƒΡΡ‚ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.


@Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ экзСмпляр этого класса.

*/

static Displayable getlnstance ()

{

return instance;

}

private ChoiceGroup buildAlertTypeSelection ()

{

// He Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли это Choice.IMPLICIT. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Choice.

// Π’ΠΈΠΏ IMPLICIT дСйствитСлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² List,

return new ChoiceGroup ("Alert Type", Choice.EXCLUSIVE, elements, null);

}

private TextField buildTimeo-utPref Prompt ()

}

String MAX_TIMEOUT_VALUE = Β«5Β»; int MAX_SIZE = 8;

return new TextField("Timeout (sec.)", MAX_TIMEOUT_VALUE,

MAX_SIZE, TextField.NUMERIC);

}

public void comraandAction(Command c, Displayable d)

{

UIComponentDemo demo = UIComponentDemo.getlnstance();

Display display = Display.getDisplay(demo); int timeSec; int timeMillis;

if (c == go)

// УвСдомлСния Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

String title = elements[type.getSelectedlndex()]; 1;

Alert alert = new Alert (title);

alert.setString("A " + title + " alert"); timeSec = Integer. parselnt(tPref.getString());

timeMillis = timeSec * 1000; if (timeMillis <= 0)

(

timeMillis = Alert.FOREVER;

}

alert.setTimeout(timeMillis);

display.setCurrent(alert, AlertDemo.getlnstance());

}

if (c == back)

(

UIComponentDemo.getlnstance(). display ();

}

)

}


Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с этим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ List Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·, выдСляя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ элСмСнты List, Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° событий Π½Π΅ осущСствляСтся. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° экранС Build Alert (Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ увСдомлСния) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты ChoiceGroup Π±Π΅Π· Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ дСйствия.

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях событий Π½Π΅ гСнСрируСтся, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. На экранС List Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€Π° Select, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ экрану Build Alert (Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅). Когда Π²Ρ‹ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π½Π° экранС Build Alert (Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅), Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΠΊΡ€Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Go, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ Alert. ИзмСнСниС Π²Ρ‹Π±ΠΎΡ€Π° Π² любой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Choice Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Command Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅.

Оба экрана, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ Π½Π° рисунках 5.2 ΠΈ 5.3, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°Π±ΠΎΡ€Ρ‹ элСмСнтов, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€. Оба ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° List ΠΈ ChoiceGroup Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс javax.microedition.ldcui.Choice, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ характСристики повСдСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ своих элСмСнтов. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Choice опрСдСляСт Ρ‚Ρ€ΠΈ константы:

β€” IMPLICIT (НСявный): выбираСтся элСмСнт, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² настоящСС врСмя сфокусировано Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

β€” EXCLUSIVE (Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ): ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ ΠΎΠ΄ΠΈΠ½-СдинствСнный элСмСнт.

β€” ULTIPLE (ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ): ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ нСсколько элСмСнтов.


Волько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ List ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ IMPLICIT. Когда Π²Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Ρ‹Π±ΠΎΡ€Π° Select устройства ΠΏΡ€ΠΈ нСявном List, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ элСмСнт List ΠΈ Π±Ρ‹Π» Π±Ρ‹ Π²Ρ‹Π΄Π΅Π»Π΅Π½ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½. Листинг 5.1 дСмонстрируСт эту Π½Π΅ΡΠ²Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. ChoiceGroup Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСявным. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ChoiceGroup сбрасываСт IllegalArgumentException, Ссли Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ экзСмпляр с Ρ‚ΠΈΠΏΠΎΠΌ Choice.IMPLICIT.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ собрана ΠΈΠ· этого нСявного List. Π Π°Π½Π΅Π΅ я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», Ρ‡Ρ‚ΠΎ событиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ посылаСтся Π² Displayable Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Select Π½Π° устройствС. Π’ΠΈΠΏ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ, отличаСтся ΠΎΡ‚ любого ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опрСдСляСт класс Command.

Класс List опрСдСляСт особый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Command, List.SELECT_COMMAND. Активация списка IMPLICIT Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ эту ΠΎΡΠΎΠ±ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ посылаСт Π΅Π΅ Π² Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ явной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π°, осущСствляСмой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π˜ΡΡ‚ΠΈΠ½Π½Π°Ρ Ρ†Π΅Π»ΡŒ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π±Π»ΠΎΠΊΠ° ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ commandAction() Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° устройства. Π’ листингС 5.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ UIComponentDemo.commandAction() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эту ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ константу.


Листинг 5.3. Π‘Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ List.SELECT_COMMAND, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСявныС списки


public.class UIComponentDemo extends MIDlet.

implements CommandListener

{

public void cornrnandAction (Command c, Displayable d)

{

Displayable displayable = null;

if (c == List.SELECT_COMMAND)

}

int index = mainMenu.getSelectedlndex ();

try i displayable = (Displayable)

Class.forName(demos[index]). new Instance));

Display display = Display.getDisplay(this);

display.setCurrent(displayable);

}

,catch (Exception e)

}

e. printStackTrace(); return;

}

}

else

{

return;

}

}


Названия Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹Π±ΠΎΡ€Π° EXCLUSIVE ΠΈ MULTIPLE говорят сами Π·Π° сСбя. Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ MIDP, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΊΠΈ отобраТСния Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ для ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ мноТСствСнного списков. Π˜ΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ списки Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΡ€ΡƒΠΆΠΎΠΊ слСва ΠΎΡ‚ тСкста элСмСнта, сходный с сСлСктивными ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π² прилоТСниях AWT ΠΈ Swing, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ списки Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠΎΠΌ слСва ΠΎΡ‚ тСкста элСмСнта, сходным с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ для ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ Π² прилоТСниях AWT ΠΈ Swing.

Π’Ρ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Alert Π² Π³Π»Π°Π²Π΅ 3, здСсь Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ вновь. ΠœΠ΅Ρ‚ΠΎΠ΄ commandAction() класса AlertDemo создаСт ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² зависимости ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² экран Build Alert (Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ увСдомлСния), ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС 5.3. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ класса Alert ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ AlertType, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΈΠΏ увСдомлСния, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Π² зависимости ΠΎΡ‚ создания. Класс AlertType опрСдСляСт ΠΏΡΡ‚ΡŒ констант, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 5.2.


Π’Π°Π±Π»ΠΈΡ†Π° 5.2. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ класса AlertType, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Alert


ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° класса AlertType β€” ОписаниС

ALARM (Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅) β€” Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ появлСниС Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ события

CONFIRMATION (ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅) β€” Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ дСйствия

ERROR (ошибка) β€” Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ увСдомляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ± ошибкС

INFO (ΠΈΠ½Ρ„ΠΎ) β€” Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ присутствуСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

WARNING (ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅) β€” Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅


Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ увСдомлСния Π½Π΅ измСняСтся Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° увСдомлСния. ЦСль Ρ‚ΠΈΠΏΠΎΠ² ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ программисту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.

Π’ΠΈΠΏ увСдомлСния Π½Π΅ влияСт Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π’Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Command Π² прилоТСниях HelloWorld. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ присвоСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Command Π½Π΅ измСняСт Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’Ρ‹Π±ΠΎΡ€ остаСтся Π·Π° Π²Π°ΠΌΠΈ ΠΊΠ°ΠΊ Π·Π° программистом Π² создании ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π΅ΠΌ способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ со сходными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Command ΠΈ Alert.

Если Π²Ρ‹ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ экраны ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄, связанных с Π½ΠΈΠΌΠΈ, Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡ… ΠΈΠΌΠ΅Ρ‚ΡŒ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ экраны ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· 5 сСкунд ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ экран Build Alert (Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ увСдомлСния). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° этого кроСтся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° установила ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 5-ΡΠ΅ΠΊΡƒΠ½Π΄Π½ΡƒΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для всСх ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.

Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ появлСния увСдомлСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС 0. УстановлСниС значСния ΠΌΠ΅Π½Π΅Π΅ 0 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ IllegalArgumentException. Π’Ρ‹ устанавливаСтС врСмя истСчСния увСдомлСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Alert.setTimeout(). Если Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ константу Alert.FOREVER, рСализация помСстит ΡΠΊΡ€Π°Π½Π½ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Done (Π“ΠΎΡ‚ΠΎΠ²ΠΎ) Π½Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅. Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π½Π°ΠΆΠΌΠ΅Ρ‚ Done (Π“ΠΎΡ‚ΠΎΠ²ΠΎ).

Π’ дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Web Π½Π° сайтС http://www.phptr.com), ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ· экран Build Alert (Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ увСдомлСния) ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ тСкстового поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит строку Β«5Β». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ TextField, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ истСчСния. Если Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ 0, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создаст ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ с FOREVER (ΠΠ˜ΠšΠžΠ“Π”Π) Π² качСствС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ истСчСния.