Applet, ktory prave bezi nad tymto textom v sivom obdlzniku vam umozni sledovat jeho zivotny cyklus. Skuste napriklad 'Reloadnut' tuto stranku pripadne zmenit velkost okna browsera. Ak chceme sledovat tieto volania presnejsie, je vhodne pozorovat aj standardny vystup. V NetscapeNavigatore otvorime okno JavaConsole z menu Options.
POZOR: Neodporucam bezhlavo 'reloadovat' a robit podobne pokusy nekonecne vela krat, pretoze buffer, ktory je alokovany pre stav, ma 256 bytov (tusim). Nepovazoval som za take dolezite testovat velkost bufferu. Avsak ak niekto chce vyskusat, co to urobi, moze :-) Aspon vsetci vieme, kde je chyba. Nie ako vo W*ndows95.
Zdrojacik vyzera takto:
/* rezervovane slovo 'import' ma podobny vyznam ako rezervovane slovo 'include' v C++; 'java.awt.*' znamena, ze potrebujeme vsetky triedy, ktore zacinaju na 'java.awt.' '*' (hviezdicka) ma substitucny vyznam */ import java.awt.*; import java.applet.*; // definicia triedy 'zivot' public class zivot extends Applet { // retazec (buffer), kde budeme mat ulozeny stav appletu StringBuffer Stav = new StringBuffer(256); // inicializacia nasho appletu public void init() { super.init(); resize(600,40); // zmena velkosti System.out.println("init()"); Stav.append(" init() "); repaint(); } // start nasho appletu public void start() { System.out.println("start()"); Stav.append(" start() "); repaint(); } // pozastavenie nasho appletu public void stop() { System.out.println("stop()"); Stav.append(" stop() "); repaint(); } // tato metoda sa vyvola, ak applet zanika public void destroy() { System.out.println("destroy()"); Stav.append(" destroy() "); repaint(); } // ... a tato, ak sa nieco na obrazovke vykresluje public void paint(Graphics g) { g.drawString(Stav.toString(),0,10); } // obsluha udalosti od uzivatela public boolean handleEvent(Event event) { return super.handleEvent(event); } }