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

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

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

public void setValue(int value) public int getValuel)


Ticker

Π’ΠΈΠΊΠ΅Ρ€ (Ticker) являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ тСкст Π½Π°Π²Π΅Ρ€Ρ…Ρƒ дисплСя. TickerDemo Π² листингС 5.8 создаСт дисплСй, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС 5.9.



Рисунок 5.9. Π’ΠΈΠΊΠ΅Ρ€ размСщаСтся Π½Π° дисплСС, Π½ΠΎ Π½Π΅ Π½Π° экранС. РСализация опрСдСляСт мСсто для Ρ‚ΠΈΠΊΠ΅Ρ€Π° нСзависимо ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ экрана, позволяя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ мноТСству Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… экранов


Ticker связан с дисплССм, Π½ΠΎ Π½Π΅ с экраном. Π’Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Ticker Π½Π° экранС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Screen.setTicker (Ticker t), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅ листинга 5.8.


Листинг 5.8. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ дСмонстрационной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ticker


import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.raicroedition.lcdui.Ticker;

import javax.raicroedition.lcdui.Form;

/**


Π­Ρ‚ΠΎΡ‚ класс дСмонстрируСт использованиС класса Ticker ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP.


@see javax.microedition.lcdui.Gauge

*/

public class TickerDerno extends Form

implements CommandListener

}

private String str = "This text keeps scrolling until the demo stops…";

private Ticker ticker = new Ticker(str);

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

private static Displayable instance;

/**


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


*/

public TickerDemo()

{

super("Ticker demo");

instance = this;

addCommand(back); setTicker(ticker); setCommandListener(this);

{

…

}


Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ticker с нСсколькими экранами. РСализация ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ticker Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ постоянной части дисплСя, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π°Π²Π΅Ρ€Ρ…Ρƒ дисплСя.

Взглянув Π½Π° рисунок 5.1 Π΅Ρ‰Π΅ Ρ€Π°Π·, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ticker Π½Π΅ являСтся Item. Он являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ нСпосрСдствСнно ΠΎΡ‚ Java.lang.Object, Ρ‡Ρ‚ΠΎ подсказываСт Π²Π°ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ticker ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ дисплСю, Π° Π½Π΅ ΠΊ экрану. Π•Π³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΠ· Item, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ являСтся Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² Form.


Imageltem

НСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. На рисункС 5.10 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅. Π’ листингС 5.9 ΠΏΠΎΠΊΠ°Π·Π°Π½ исходный ΠΊΠΎΠ΄ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ рисунок 5.10.




Рисунок 5.10. НСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ Ρ„ΠΎΡ€ΠΌΠ° содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Image Item, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅


Листинг 5.9. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния ΠΈ пСрСсылаСт Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса для отобраТСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ для изобраТСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ рСсурсов этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ установкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтария J2ME Wireless Toolkit


import javax.microedition.lcdui.Command;

import javax.microedition.Icdui.ComraandListener;

import javax.microedition.Icdui.Displayable;

import javax.microedition.Icdui.Form;

import javax.microedition.Icdui.Image;

import javax.microedition.Icdui.Imageltem;

import Java.io.lOException;

/**


Π­Ρ‚ΠΎΡ‚ класс дСмонстрируСт использованиС класса Imageltem ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP.

@смотри javax.microedition.Icdui.Imageltem


*/

public class ImageltemDemo extends Form implements CommandListener

{

private Imageltem imageltem;

/**


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


@сбрасываСт lOException, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ рСсурс изобраТСния Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½.

public ImageltemDemo() throws lOException

*/

super("Imageltem Demo");

String path = "/bottle80x80.png";

Image image = Image.createlmage(path);

imageltem = new Imageltem)"Ship in a bottle", image,

Imageltem.LAYOUT_CENTER,

"Image not found"); append(imageltem);

addCommand(back);

setCommandListener(this);

instance = this;

}

…

}


Π’ листингС 5.9 дСмонстрируСтся использованиС класса Imageltem ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP. Imageltem являСтся подклассом Item, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² Form, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ продСмонстрировано Π² листингС.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ смоТСтС ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния. Класс javax.microedition.lcdui.Image опрСдСляСт изобраТСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр Image, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ изобраТСния. Π€Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Portable Network Graphics (PNG). J2ME ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с изобраТСниями Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² листингС 5.9 имя ΠΏΡƒΡ‚ΠΈ Ρ„Π°ΠΉΠ»Π° изобраТСния связано с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ res/ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° UlComponents. ДирСктория res/ содСрТит всС Ρ„Π°ΠΉΠ»Ρ‹ рСсурсов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Если Π²Ρ‹ размСститС свои изобраТСния Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Π΅, ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΈ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сбросит lOException, ΠΊΠΎΠ³Π΄Π° попытаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ».

Π’ листингС 5.9 конструктор создаСт Imageltem с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Image. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ конструктора ΡΠ²Π»ΡΡŽΡ‚ΡΡ строка Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, которая отобраТаСтся Π½Π°Π΄ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТСния, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ размСщСния изобраТСния ΠΈ тСкстовая строка, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² случаС, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅.

Класс Imageltem являСтся СдинствСнным классом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ располоТСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ изобраТСния. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 5.5 пСрСчислСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ MIDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ изобраТСния.


Π’Π°Π±Π»ΠΈΡ†Π° 5.5. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ изобраТСния


ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP β€” ОписаниС

Alert β€” Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся вмСстС с тСкстом

ChoiceGroup β€” Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся слСва ΠΎΡ‚ тСкста ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта

List β€” Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отобраТаСтся слСва ΠΎΡ‚ тСкста элСмСнта

Imageltem β€” ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ размСщСния самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° изобраТСния


ΠšΠ»Π°ΡΡΡ‹ ChoiceGroup ΠΈ List ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ изобраТСния ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ прСдставлСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· своих элСмСнтов. API для этих классов Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ ΠΈ прямолинСйный, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для Π½ΠΈΡ…. Π’Π° ΠΆΠ΅ ΠΈΠ΄ΠΈΠΎΠΌΠ° создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° изобраТСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ примСняСтся для всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ изобраТСния.


Π”Ρ€ΡƒΠ³ΠΈΠ΅ экранныС Ρ‚ΠΈΠΏΡ‹

Π’Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ MIDP Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ: TextBox. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ TextField TextBox являСтся многострочной Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ тСкстовой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ. ВзглянитС Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π° Π½Π°Π³Π»ΡΠ΄Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π½Π° рисункС 5.1, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ TextBox являСтся Π²ΠΈΠ΄ΠΎΠΌ Screen, Π° Π½Π΅ Item.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ TextBox являСтся Displayable, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ MID-Π»Π΅Ρ‚Π° для дСмонстрации Π΅Π³ΠΎ использования, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Screen ΠΈΠ»ΠΈ Form, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, происходящими ΠΎΡ‚ Item. На рисункС 5.11 ΠΏΠΎΠΊΠ°Π·Π°Π½ экран TextBoxDemo.



Рисунок 5.11. Π­ΠΊΡ€Π°Π½ TextBoxDemo


Ha рисункС 5.11 ΠΏΠΎΠΊΠ°Π·Π°Π½ сам экзСмпляр TextBox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Screen. Π’ листингС 5.10 ΠΏΠΎΠΊΠ°Π·Π°Π½ частичный исходный ΠΊΠΎΠ΄ класса TextBoxDemo. Части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, ΡΠ²Π»ΡΡŽΡ‚ΡΡ структурно ΠΎΡ‡Π΅Π½ΡŒ сходными с ΠΊΠΎΠ΄ΠΎΠΌ UIComponentDemo ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ МШ-Π»Π΅Ρ‚Π°.


Листинг 5.10. ВСкстовыС ΠΎΠΊΠ½Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ экранами ΠΈ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ


import jav,ax.micro etiition.lcdui. Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Form;

import javax.microedition.lcdui.TextBox;

import javax.microedition.lcdui.TextField;

import javax.microedition.midlet.MIDlet;

/**


Π­Ρ‚ΠΎΡ‚ MID-Π»Π΅Ρ‚ дСмонстрируСт использованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ элСмСнта TextBox ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP.

@смотри javax.microedition.Icdui.TextBox


* /

public class TextBoxDemo extends MIDlet implements CommandListener

private Command quit = new Command("Exit", Command.EXIT, 1);

private static TextBoxDemo instance;

// ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса TextBox. private TextBox textBox;

// МаксимальноС число Π·Π½Π°ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ TextBox ΠΌΠΎΠΆΠ΅Ρ‚

// ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ. private int MAX_SIZE = 100;

// ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ тСкст Π² TextBox. private String initialText =

"You can edit the contents of this TextBox";

/**


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


*/

public TextBoxDemo()

super (); instance = this;

}

public void pauseApp()

{

.

}

public void destroyApp(boolean destroy)

}

textBox = null; initialText = null; instance = null;

}

void quit()

}

destroyApp (true);

notifyDestroyed();

public void startApp()

{

texcBox = new TextBoxC'A TextBox", initialText, MAX_SIZE,

TextField.ANY); сextBox.addCommand(quit); textBox.setCommandListener(this);

display();

}

/**


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


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

*/

public static TextBoxDemo getlnstance()

return instance;

}

public void display!)

{

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