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

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

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, MID-Π»Π΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимыС ΠΎΡ‚ прилоТСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ связанных с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ свойств, сколько Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° MIDlet.getAppProperty(), ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² листингах 3.3 ΠΈ 3.4. Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ являСтся своСго Ρ€ΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ настройки MID-Π»Π΅Ρ‚ΠΎΠ². Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ описания Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΈΡ… использования Π² Π³Π»Π°Π²Π΅ 9.


Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ Π³Π»Π°Π²Π΅

Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ структурС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MIDP. Π¦Π΅Π½Ρ‚Ρ€ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ программирования MIDP являСтся MID-Π»Π΅Ρ‚.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ структуры MID-Π»Π΅Ρ‚Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмпляр MID-Π»Π΅Ρ‚Π°, экзСмпляр Display ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Β«ΡˆΡ‚ΡƒΡ‡Π΅ΠΊΒ» Displayable, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ MID-Π»Π΅Ρ‚Π° связаны с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Display. MID-Π»Π΅Ρ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ элСмСнты Displayable, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π½Π° экранС устройства. Display управляСт экраном устройства ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ элСмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

Абстрактный класс Screen являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… основных Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎ-Ρ€ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Displayable. Класс Screen являСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ абстракциСй дисплСя. Класс Form являСтся ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ подклассом Screen. Волько Screen Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΆΠΈΠ·Π½ΠΈ MID-Π»Π΅Ρ‚Π°.

ВсС MID-Π»Π΅Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ связанныС с Π½ΠΈΠΌ свойства ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Бвойства ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартными систСмными свойствами, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ спСцификациСй CLDC. Они относятся ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ систСмой управлСния прилоТСниями. Атрибуты связаны с MID-Π»Π΅Ρ‚Π°ΠΌΠΈ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны для всСх MID-Π»Π΅Ρ‚ΠΎΠ², ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ опрСдСляСмыС Π² зависимости ΠΎΡ‚ прилоТСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ MID-Π»Π΅Ρ‚Π°. Атрибуты ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ„Π°ΠΉΠ»Π΅ JAD прилоТСния ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм AMS устройства Π²ΠΎ врСмя выполнСния.

Π“Π»Π°Π²Π° 4. ВысокоуровнСвый ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс прилоТСния (API) Π² MIDP

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния MIDP. Π’ любом MID-Π»Π΅Ρ‚Π΅, Π±ΠΎΠ»Π΅Π΅ слоТном, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ для вас ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΌ придСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ мноТСство экранов. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пСрСдвигаСтся ΠΎΡ‚ экрана ΠΊ экрану, ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°ΡΡΡŒ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, экранных клавиш ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ мобильного устройства.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС прилоТСния, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ MIDP подгоняСт Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ осущСствляСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ событий. Π’ этой Π³Π»Π°Π²Π΅ описываСтся высокоуровнСвый ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс прилоТСния (API) MIDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт абстракции, подгоняСмыС ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ высокоуровнСвых событий прилоТСния.

ВысокоуровнСвый API являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… API ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса MIDP. Π’Ρ‚ΠΎΡ€ΠΎΠΉ β€” это Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ API, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Π² Π³Π»Π°Π²Π΅ 5. Π’Π΅Ρ€ΠΌΠΈΠ½ высокоуровнСвый соотвСтствуСт API Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСтся программисту для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π΄Π²ΡƒΡ… областях:

β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ внСшним Π²ΠΈΠ΄ΠΎΠΌ ΠΈ восприятиСм элСмСнтов (Β«ΡˆΡ‚ΡƒΡ‡Π΅ΠΊΒ») ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса;

β€” ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ разбиСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ событиях ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ событий.

ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ класса Screen, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ высокоуровнСвый API. Π­Ρ‚ΠΈ элСмСнты Π½Π΅ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… внСшний Π²ΠΈΠ΄ ΠΈ восприятиС. Π§Ρ‚ΠΎ ΠΆΠ΅ касаСтся событий, информация, доступная ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, являСтся Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ абстракции. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ устройствам Π²Π²ΠΎΠ΄Π°. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ Screen, прилоТСния Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ физичСскиС клавиши Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

ВысокоуровнСвый API Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для коммСрчСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ пСрСносимыми Π½Π° многочислСнныС устройства. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСализация MIDP удаляСт всС Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΎ Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π°Ρ…, ΠΊΠ°ΠΊ рСализация Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ обСспСчСнии.


OΠ±paΠ±oΡ‚ΠΊa ΠΊoΠΌaΠ½Π΄

ВысокоуровнСвый API MIDP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ событий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ использования ΠΊΠΎΠΌΠ°Π½Π΄. Команда прСдставляСт ΠΈΠ· сСбя дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π° экранС, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ β€” это проявлСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° дСйствия. Бобытия ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π²Ρ‹Π·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° дСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Команда фиксируСт ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ события. Она Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· дСйствия ΠΈΠ»ΠΈ события. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ опрСдСляСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” линию повСдСния, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, β€” которая Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· появлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Класс Command Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ javax.microedition.lcdui описываСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚ΠΎΡ‚ класс инкапсулируСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ:

β€” ΠΌΠ΅Ρ‚ΠΊΠ΅ (label);

β€” ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Стности (priority);

β€” Ρ‚ΠΈΠΏΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (command type).


ΠœΠ΅Ρ‚ΠΊΠ° β€” это String, подходящая для дисплСя, с условиСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ сСмантику ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ являСтся int, которая ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ. Π’ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ВСкущая спСцификация опрСдСляСт Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, пСрСчислСнныС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 4.1.


Π’Π°Π±Π»ΠΈΡ†Π° 4.1. Π’ΠΈΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄


ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” ОписаниС

public static int BACK β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ логичСски ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ экрану

public static int CANCEL β€” Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅

public static int EXIT β€” Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· прилоТСния

public static int HELP β€” Запрос ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

public static int ITEM β€” Подсказки прилоТСния для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту Π½Π° экранС, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Π² настоящСС врСмя элСмСнту

public static int OK β€” Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅

public static int SCREEN β€” ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ опрСдСляСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ Π² настоящСС врСмя экрану

public static int STOP β€” ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСмой Π² настоящСС врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ


Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ oΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² MIDP являСтся тСорСтичСски сходным с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ½-струмСнтариями графичСского ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Π‘Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ (command listener) являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ увСдомлСния ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π‘Π»ΠΎΠΊΠΈ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для получСния увСдомлСния ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

НСкоторыС внСшниС дСйствия, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ MIDP, обнаруТивая событиС ΠΈ связывая Π΅Π³ΠΎ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π² настоящСС врСмя экраном. Π­Ρ‚ΠΎ инкапсулируСт событиС Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Command. ЗарСгистрированный Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ событии. Π‘Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с элСмСнтами Displayable. To Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Command Π² ΠΈ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Displayable с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса Displayable:


public void addCommand(Command crad)

public void removeCoramand(Command cmd)


ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π»ΠΎΠΊΠ° ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡ‚ΡŒΡΡ ΠΊ Displayable для получСния увСдомлСния ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅


Displayable:

void setCommandListener(CommandListener cl)


Волько ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Π½Π° ΠΎΠ΄ΠΈΠ½ Displayable. РСализация MIDP поставляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Displayable. Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ввСсти с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСалистичных ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ соврСмСнных Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ MIDP. MIDP опрСдСляСт модСль ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΈΡ‚ΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многочислСнных Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° Π±Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ со мноТСством Π½ΠΈΡ‚Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий.

На рисункС 4.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° UML связСй ΠΌΠ΅ΠΆΠ΄Ρƒ классами Displayable ΠΈ Command ΠΈ интСрфСйсом CommandListener.



Рисунок 4.1. Π­Ρ‚Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° UML ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ связь ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ классами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отвСтствСнны Π·Π° созданиС, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… событий Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ


ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ эта Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ являСтся всСсторонним UML-прСдставлСниСм ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прСдставитСля, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. На рисункС 4.2 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, которая ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ взаимодСйствиС экзСмпляров этих классов Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.



Рисунок 4.2. Π­Ρ‚Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π½Π° экранС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ. Однако Displayable ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΡ