Programovßnφ v jazyce Java - J2ME

Kurz programovßnφ v Jav∞ pro mobilnφ telefony - 5. 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 pßtΘho dφlu kurzu programovßnφ aplikacφ v Jav∞ pro mobilnφ telefony. Budeme pokraΦovat ve v²kladu vysoko·rov≥ovΘho GUI API (graphic user interface a aplication programming interface - voln∞ p°elo₧eno: Pou₧φvßnφ t°φd, pro tvorbu grafickΘho u₧ivatelskΘho prost°edφ, v naÜich aplikacφ).



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

Minule jsme probφrali t°φdu Display, kterß mß metodu setCurrent(Displayable nextDisplayable). Displayable je abstraktnφ t°φda, kterß mß pro vysoko·rov≥ovΘ GUI potomka z nßzvem Screen. Screen je takΘ abstraktnφ t°φda. Potomky t°φdy Screen lze rovnou zobrazovat pomocφ metody setCurrent(Displayable podtridaScreen).



T°φda Displayable

Displayable je abstraktnφ nadt°φdou vÜech prvk∙, kterΘ lze zobrazit. Mß dv∞ podt°φdy Screen a Canvas. Canvas je t°φda pro tvorbu nφzko·rov≥ovΘho API, kter²m se te∩ zab²vat nebudeme, ale urΦit∞ ho pozd∞ji probereme. O t°φd∞ Canvas je °eΦ dßle. Te∩ ji₧ podrobn² seznam prvk∙ t°φdy Displayable:

T°φda Displayable
Konstanty Poznßmky
nemß konstanty
Konstruktory Poznßmky
nemß ve°ejnΘ konstruktory
Metody Poznßmky
void addCommand(Command cmd) p°idß objekt Command k prvku
int getHeight() vracφ Üφ°ku v pixelech, kterou je mo₧no vyu₧φt pro zobrazenφ
Ticker getTicker() vracφ Ticker, kter² je asociovan² s objektem
String getTitle() vracφ titulek
int getWidth() vracφ v²Üku v pixelech, kterou je mo₧no vyu₧φt pro zobrazenφ
boolean isShown() pokud je prvek zrovna zobrazen² vracφ true, jinak false
void removeCommand(Command cmd) odebere p°edan² objekt z objektu Displayable
void setCommandListener(CommandListener l) nastavφ p°edanΘho posluchaΦe jako posluchaΦe pro objekty Command, pokud m∞l Displayable nastevenΘo posluchaΦe, tento ho nahradφ
void setTicker(Ticker ticker) nastavφ Ticker
void setTitle(String s) nastavφ titulek objektu
protected void sizeChanged(int w, int h) tato metoda je volßna, pokud dojde ke zm∞n∞ velikosti zobrazitelnΘ plochy



Jen tak pro zajφmavost, pokud vytvo°φte nov² objekt Displayable a nic nenastavφte, jeho standardnφ stav je:


- nenφ zobrazen²

- nemß asociovan² ₧ßdn² objekt typu Ticker

- nemß titulek (getTitle() vrßtφ null)

- nemß ₧ßdnΘ objekty typu Command

- a ani ₧ßdn² posluchaΦ

Nemusφ to b²t tak v₧dy, ale snad vÜechny vysoko·rov≥ovΘ t°φdy to dodr₧ujφ.




T°φda Screen

T°φda Screen je obecnou nadt°φdou vÜech vysoko·rov≥ov²ch t°φd GUI.

T°φda Screen
Konstanty Poznßmky
nemß konstanty
Konstruktory Poznßmky
nemß ve°ejnΘ konstruktory
Metody Poznßmky
₧ßdnΘ metody nep°idßvß



T°φda Ticker

T°φda Displayable mß metody pro nastavenφ/zφskßnφ objektu typu Ticker. Ale k Φemu tato t°φda vlastn∞ slou₧φ? Slou₧φ k zobrazenφ posuvnΘho textu. Na konci dφlu najdete program, kter² objekt typu Ticker pou₧φvß.

T°φda Ticker
Konstanty Poznßmky
nemß konstanty
Konstruktory Poznßmky
Ticker(String ticker) vytvo°φ Ticker, obsahujφcφ °et∞zec, kter² p°edßte
Metody Poznßmky
String getString() vrßtφ °et∞zec, kter² je pou₧φvßn
void setString(String ticker) nastavφ Ticker na nov² °et∞zec



P°φklad pou₧itφ metod Displayable

Nakonec si ukß₧eme p°φklad pou₧itφ jednoho potomka Screen a to TextBox. P°φÜt∞ si o tΘto t°φd∞ °ekneme vφce a te∩ ji₧ p°φklad...

Pou₧itφ n∞kter²ch metod t°φdy Displayable
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class GUITest extends MIDlet {

	private Display display;
	private TextBox tb;

	public GUITest() {


	}

	protected void startApp() {

		display = Display.getDisplay(this);

		tb = new TextBox("Test", "Testovaci text", 50, 0);

		Ticker ticker = new Ticker("Tick text");
		tb.setTicker(ticker);

		tb.setTitle("zapisnik");

		display.setCurrent(tb);

	}

	protected void pauseApp() {


	}

	protected void destroyApp(boolean unconditional) {


	}

}
	  



Zßv∞r

Dnes jsme probrali zßkladovΘ t°φdy pro grafickΘ u₧ivatelskΘ prost°edφ. Sice te∩ asi nem∙₧ete °φct, ₧e si novΘ v∞ci vyzkouÜφte, proto₧e to byly spφÜe v∞ci teoretickΘ. Ale ji₧ p°φÜt∞ se m∙₧eme pustit do podt°φd t°φdy Screen, nap°φklad dnes pou₧it² TextBox, Alert atd. Vysv∞tlenφ jednotliv²ch metod nebylo sice moc podrobnΘ, ale a₧ je budeme vyu₧φvat v naÜich programech, v₧dy °eknu jejich podrobn² v²znam, proto berte dneÜnφ popisy jako takovou p°edstavu, co kterß metoda d∞lß.



Alen Dvo°ßk