Escolar Documentos
Profissional Documentos
Cultura Documentos
Studijski program:
Apleti
dr Zoran Velikovi, dipl. in. el.
Decembar, 2012.
Appleti (1)
Apleti (engl. Applets) predstavljaju posebnu klasu Java programa koji se razlikuju od do sada prouavanih aplikacija. Apleti su male aplikacije razvijene u programskom jeziku Java sa sledeim specifinostima:
Smetene su na serveru; Prenose se preko Interneta; Automatski se instaliraju na klijentu; Izvravaju se kao deo Web dokumenta.
Eksplicitnije, apleti predstavljaju klasu u Javi realizovanu u grafikom okruenju. Apleti koriste Javinu grafiku biblioteku AWT (engl. Abstract Window Toolkit) i izvode se iz klase Applet. Dakle, klasa Applet se nalazi u paketu: java.applet.Applet.
Appleti (2)
izvravanjem apleta.
Apleti imaju ogranieni pristup resursima klijenata, tako da se mogu izvravati bez bojazni od virusne infekcije. Okruenje u kome se izvrava aplet senaziva kontejnerom apleta koji je odgovoran za njegovo preuzimanje i ivotni ciklus. Apleti su neto drugaije struktuirani u odnosu na standardne Java aplikacije. Pogledajte strukturu Java Apleta na jednostavnom jednostavnom primeru SimpleApplet:
Appleti (3)
import java.awt.*; import java.applet.*;
Uvoze se klase grafike AWT biblioteke
Uvozi se paket applet koji sadri klasu Applet
public class SimpleApplet extends Applet { Nasleivanje klase public void paint(Graphics g) { Applet g.drawString("A Simple Applet", 20, 20); } Aplet nema metodu Main() ! }
Dekleracija metode paint() iz AWT biblioteke, SimpleApplet je redefinie. Metoda paint() se poziva svaki put kada aplet treba da osvei prikaz. Objekt g tipa Graphics opisuje grafiko okruenje u kome se aplet izvrava. Metoda drawString() lan klase Graphics, iscrtava znakovni niz na x,y lokaciji.
Appleti i HTML
HTML kod koji aplicira aplet import java.awt.*; SimpleApplet import java.applet.*; /* <applet code="SimpleApplet" width=200 height=60> </applet> */ public class SimpleApplet extends Applet { HTML kod je public void paint(Graphics g) { pod g.drawString("A Simple Applet", 20, 20); komentarom i koristi ga } appletviewer }
Izvrenje apleta se odvija uz pomo itaa Weba ili uz pomo programa za prikazivanje apleta: appletviewer-a.
ita
Appleta: Appletviewer
Kompajliranje apleta SimpleApplet
Startovanje izvrenja apleta SimpleApplet u appletviewer-u koji je iplementiran u html fajlu PokreniApp.html Rezultat izvrenja apleta: grafiki prozor apleta SimpleApplet
Appleti i dogaaji
Moe se primetiti da se aplet izvrava u grafikom prozoru. Apleti nasleuju iz klase Applet sve potrebne metode za rad u grafikom okruenju i radu sa prozorom apleta. Apletima uglavnom upravljaju dogaaji koji se mogu uporediti sa prekidnim rutinama kod mikroprocesora. Dogaaji apleta se mogu posmatrati na slian nain kao i dogaaji koji potiu od tastature ili mia. Aplet eka neki dogaaj o emu ga obavetava AWT (grafiko okruenje) pozivom procedure za obradu dogaaja. Po obavljenom poslu, aplet vraa kontrola AWT-u. Sam Aplet samo kratko vreme zdrava kontrolu nad izvravanjem. Konkretni aplet treba da redefinie osnovni skup metoda za rad sa apletom.
Metoda paint(), koja je ve koritena, je definisana klasom Component iz AWT-a. Primer u nastavku ne radi nita konkretno, ve samo prikazuje redosled kojim treba da se pozivaju metode iz strukture apleta. Kada aplet zapone rad, AWT poziva metode ovim redom:
stop(), destroy().
Za auriranje podataka u prozoru koristi se metoda repaint(), koja poseduje etiri konstruktora (oblika):
1. 2. 3. 4.
void repaint(), void repaint(int levo, int gore, int irina, int visina), void repaint(maxOdlaganje), void repaint(maxOdlaganje, int levo, int gore, int irina, int visina).
Metoda Showstatus(), prikazuje poruku u statusnom prozoru itaa Weba ili programa za prikazivanje apleta.
Parametarizovani apleti
Oznaka Appleta u HTML-u omoguava prosleivanje parametara apletu. Setite se kako smo prosleivali parametre apletu iz HTML koda:
Za oitavanje parametara upuenih apletu iz HTML-a koristi se metoda getParametar(). Ova metoda vraa vrednost u obliku znakovnog niza. Dakle, logike i numerike vrednosti se moraju prvo pretvoriti iz znakovnog niza u njihov interni format. Pogledajmo sledei slajd sa primerom:
// nije pronaen
fontSize = Integer.parseInt(param);
Konverzija tipa string u integer
AppletContext (podaci o okruenju), AppletStub (podrka Web itaima) i AudioClip (sa metodama play(), loop() i stop()).
Za applet: getApplet(String imeApleta), Za AudioClip: getAudioClip(URL url), Za Image: getImage(URL url), Za InputStream: getStream(String klju),
Java dozvoljava da aplet uita podatke samo iz direktorijuma u kome se nalazi HTML datoteka ili klasa apleta. Imena ovih direktorijuma vraaju metode getDocumentBase() i getCodeBase() respektivno. Ove metode pripadaju klasi URL. Za uitavanje datoteke koristi se metoda showDocument(URL url) iz interfejsa AppletContext. Kada se dobije kontekst u kome se aplet izvrava moe se prikazati bilo koji dokument metodom showDocument(URL url).
Interfejs AudioClip
play() reprodukuje sekvencu od poetka stop() prekida reprodukciju loop() reprodukcija u kontinualnoj formi
getAudioClip().