Programovßnφ v jazyce Java - J2ME

Kurz programovßnφ v Jav∞ pro mobilnφ telefony - 4. dφl

 ┌vodem  |   Kurz programovßnφ v Jav∞  |  Kurz programovßnφ v Jav∞ pro mobilnφ telefony  |   Soubory ke sta₧enφ  |  Otßzky a odpov∞di

 

┌vod

Vφtejte u ΦtvrtΘho dφlu kurzu programovßnφ pro mobilnφ telefony. MinulΘ dφly byly takovΘ zah°φvacφ, proto₧e od te∩ budeme probφrat jednotlivΘ prvky podrobn∞ji. Nejd°φve popφÜi prvek (nap°. Display) a jeho funkce, potom konstruktor a metody, mßte se na co t∞Üit.


GrafikcΘ u₧ivatelskΘ rozhranφ - pokraΦovßnφ

VÜechny t°φdy pro tvorbu grafickΘho u₧ivatelskΘho rozhranφ jsou v balφku javax.microedition.lcdui a javax.microedition.lcdui.game. V∞tÜina poznßmek jsou vφce nebo mΘn∞ p°ekladem dokumentace, ale u n∞kter²ch jsem pou₧il vlastnφ vysv∞tlenφ, nebo trochu upravil p°eklad. Proto pokud vßm n∞co nebude zdßt jasnΘ, staΦφ si prohlΘdnout dokumentaci API, ale sna₧il jsem se poznßmky ud∞lat co nejlepÜφ, aby vÜe bylo jasnΘ.

balφk javax.microedition.lcdui
Rozhranφ Poznßmky
Choice definuje API pro komponenty GUI implementujφcφ v²b∞r z poΦtu p°edem dan²ch mo₧nostφ.
CommandListener vyu₧φvß se pro t°φdy kterΘ cht∞jφ zachytßvat vysoko·rov≥ovΘ udßlosti
ItemCommandListener posluchaΦ pro upozorn∞nφ na udßlost kterß vznikla na objektu typu Item
ItemStateListener pou₧φvß se pro zjiÜt∞nφ ka₧dΘ zm∞ny v objektu typu Form
T°φdy Poznßmky
Alert zobrazuje r∙znΘ zpravy na urΦito² Φas
AlertType obsahuje typ prvku Alert
Canvas zßkladnφ t°φda p°i pou₧itφ nφzko·rov≥ovΘho api
ChoiceGroup skupina element∙ ze kterΘ lze jednotlivΘ elemety oznaΦit (vybrat)
Command t°φda zapouzd°ujφcφ r∙znΘ v∞ci o akci (nap°. stisknutφ tlaΦφtka)
CustomItem zßkladovß t°φda pou₧φvajφcφ se k vytvo°enφ svΘho vlastnφho prvku GUI
DateField prvek pro zobrazenφ data
Display t°φda odkazujφcφ na plochu displeje, kterou m∙₧e midlet vyu₧φt
Displayable zßkladovß t°φda pro vÜechny zobrazitelnΘ prvky
Font obsahuje parametry font∙
Form kontejnerovß komponenta do kterΘ se vklßdajφ vÜechny vysoko·rov≥ovΘ prvky
Gauge t°φda reprezentuje posuvnφky a ukazatele (hlasitost, zb²vajφcφ Φas...)
Graphics t°φda pou₧φvajφcφ se k p°φmΘmu kreslenφ r∙zn²ch geometrick²ch tvar∙
Image obsahuje data obrßzku, kter² reprezentuje
ImageItem potomek Item obsahujφcφ obrßzek a dopl≥ujφcφ text
Item zßkladovß t°φda pro prvky, kterΘ se dajφ vlo₧it do objektu typu Form
List obrazovka obsahujφcφ seznam voleb
Screen obecnß zßkladovß t°φda vÜech vysoko·rov≥ov²ch prvk∙
Spacer prßznd² neinteraktivnφ objekt typu Item kter² mß nastavitelnou v²Üku a Üφ°ku, pou₧φvß se pro vytvo°enφ prßzdnΘho mφsta
StringItem potomek Item obsahujφcφ text
TextBox potomek Screen, do kterΘho lze psßt text
TextField zobrazφ v²zvu s polem do kterΘho lze psßt
Ticker zobrazuje posunujφcφ se text



balφk javax.microedition.lcdui.game
Rozhranφ Poznßmky
neobsahuje ₧ßdnΘ rozhranφ
T°φdy Poznßmky
GameCanvas hlavnφ t°φda pro tvorbu GUI her
Layer abstraktnφ t°φda reprezentujφcφ hernφ prvek
LayerManager t°φda pro spravovßnφ vφce objekt∙ typu Layer
Sprite pomocφ t°φdy lze vytvß°et r∙znΘ animovanΘ hernφ objetky
TiledLayer v m°φ₧ce zobrazuje r∙znΘ obrßzky, lze ji dob°e vyu₧φt pro hernφ pozadφ s mal²mi nßroky na pam∞¥



T°φda Display

Zßkladem zobrazenφ aplikacφ je t°φda Display. T°φda Display reprezentuje logickou obrazovku za°φzenφ. Ve vÜech naÜich programech jsme ji vyu₧φvali, proto₧e bez nφ to nejde. V₧dy jsme pomocφ statickΘ metody getDisplay() zφskali odkaz na objekt t°φdy Display, kter² jsme pou₧φvali pro zobrazenφ. Volat by se metoda getDisplay() m∞la a₧ v metod∞ startApp(), ne d°φve nap°φklad v konstruktoru aplikace.

T°φda Display
Konstanty Poznßmky
static int ALERT imageType obrßzek pro pou₧itφ v t°φd∞ Alert
static int CHOICE_GROUP_ELEMENT imageType obrßzek pro pou₧itφ v t°φd∞ ChoiceGroup
static int COLOR_BACKGROUND uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int COLOR_BORDER uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int COLOR_FOREGROUND uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int COLOR_HIGHLIGHTED_BACKGROUND uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int COLOR_HIGHLIGHTED_BORDER uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int COLOR_HIGHLIGHTED_FOREGROUND uΦuje kterou barvu chceme vrßtit p°i pou₧itφ metody getColor()
static int LIST_ELEMENT imageType obrßzek pro pou₧itφ v t°φd∞ List
Konstruktory Poznßmky
nemß ve°ejnΘ konstruktory
Metody Poznßmky
void callSerially(Runnable r) zp∙sobφ, ₧e se nejprve dokonΦφ metoda repaint() a a₧ potom metoda run() objetku Runnable, kter² p°edßme jako parametr
boolean flashBacklight(int duration) rozsv∞cφ a zhasφnß podvφcenφ displeje za°φzenφ na urΦitou dobu, pokud za°φzenφ midletu nedovol² podsvφcenφ ovlßdat vracφ false, jinak true
int getBestImageHeight(int imageType) vracφ nejlepÜφ v²Üku pro obrßzek typu kter² specifikujeme (nap°. ALERT)
int getBestImageWidth(int imageType) vracφ nejlepÜφ Üφ°ku pro obrßzek typu kter² specifikujeme (nap°. ALERT)
int getBorderStyle(boolean highlighted) vracφ typ okraj∙ bu∩, Graphics.DOTTED nebo Graphics.SOLID
int getColor(int colorSpecifier) vracφ barvu prvk∙, kterΘ zadßme (nap°. COLOR_BORDER)
Displayable getCurrent() vracφ aktußlnφ objekt typu Displayable
static Display getDisplay(MIDlet m) vracφ odkaz na objekt typu Display, dislpej aktußlnφ pro tento midlet
boolean isColor() pokud je displej barevn², vrßtφ true, jinak false
int numAlphaLevels() vracφ poΦet alpha stup≥∙ (stup≥∙ pr∙hlednosti)
int numColors() vracφ poΦet barev, pokud je displej barevn², jinak poΦet stup≥∙ Üedi
void setCurrent(Alert alert, Displayabel nextDisplayable) zobrazφ nejd°φve objekt Alert a nßsledn∞ objekt Displayable
void setCurrent(Displayable nextDisplayable) zobrazφ objekt Displayable, kter² p°edßme jako parametr
void setCurrentItem(Item item) zobrazφ polo₧ku Item, kterou p°edßme jako parametr
boolean vibrate(int duration) zapφna vibrßtor za°φzenφ, pokuda n∞jakΘ mß a midlet k n∞mu mß p°φstup, vracφ true, jinak false

Zßv∞r

Dnes jsme si °ekli jakΘ t°φdy a rozhranφ obsahujφc balφky javax.microedition.lcdui a javax.microedition.lcdui.game. A podrobn∞ rozebrali t°φdu Display. P°φÜt∞ se m∙₧ete t∞Üit na dalÜφ t°φdy.



Alen Dvo°ßk