Orice applet este realizat ca o clasă, derivată din clasa Applet, existentă în pachetul java.applet, sau derivată din clasa JApplet, care extinde clasa Applet și există în pachetul javax.swing.
Întrucât utilizarea clasei JApplet este mai complicată, ne vom
rezuma aici la descrierea și exemplificarea utilizării clasei Applet.
Clasa Applet este superclasa tuturor miniaplicațiilor care sunt încorporate în pagini Web sau pot fi vizualizate cu un Java Applet Viewer.
Clasa Applet moștenește metodele superclaselor sale Component,
Container și Panel, oferind și metode specifice. Dintre acestea, cele
mai importante sunt : init(), start(), stop() și destroy().
Aceste metode sunt apelate de către browser în momentele importante ale
ciclului de viață al unui applet, respectiv în momentul încărcării
acestuia în memorie, în momentul începerii sau întreruperii execuției și
înainte ca appletul să fie distrus. Așa cum sunt ele oferite de clasa Applet,
aceste metode nu fac nimic. Ele pot fi însă redefinite de programatori
în subclasele clasei Applet, astfel încât să execute anumite acțiuni
specifice momentelor în care sunt invocate. Metoda init() este
utilizată pentru a crea partea "statică" a applet-ului: adăugarea de
componente la applet, înregistrarea ascultătorilor de evenimente etc.
Ea este redefinită în marea majoritate a applet-urilor. Metodele start()
și stop() se folosesc numai pentru lansarea și oprirea
proceselor dinamice (de exemplu animație și/sau sunete) care nu trebuie
să continuie când appletul nu este vizibil pe ecran. În fine, metoda destroy()
se folosește în special pentru a distruge firele de execuție paralele
care au fost create de către applet, sau a elibera anumite resurse
ocupate de acesta.
Principalele metode ale clasei Applet:
Vom prezenta aici metodele mai frecvent utilizate. Pentru celelalte recomandăm consultarea documentației originale. public void init() - metoda este invocată de
către browser sau appletviewer atunci când appletul este încărcat în
memorie, deci înainte de prima invocare a metodei start(); |
Dăm în continuare trei exemple de applet-uri, împreună cu fișierele
HTML în care se afișeaza acestea. Pentru compatibilitate, s-au utilizat
numai componente din pachetele java.applet și java.awt.
Exemplul 1:
În introducere a fost deja dat un exemplu de applet simplu, în care nu se redefinește nici o metodă a clasei Applet, folosindu-se numai o invocare de metodă prin care se scrie un text pe suprafața appletului. Programul acestui applet se găsește în fișierul PrimApplet.java, iar fișierul HTML în care este folosit acest applet este PrimApplet.html. Exemplul 2: În fișierul CBGroupAp.java
este dat un applet de testare a unui grup de casete de validare (butoane
radio) din fișierul TestCheckboxGroup.java. Remarcăm următoarele
deosebiri față de o aplicație similară: Exemplul 3: În fișierul TestFlowAp.java se prezintă un applet de testare a gestionarului de poziționare FlowLayout. Vizualizarea din browser a acestui applet se face folosind fișierul TestFlow.html. Pe suprafața appletului apar două butoane de comandă ("Pune" și "Elimina") pentru adaugarea sau eliminarea de etichete și trei butoane radio, prin care se selectează modul de aliniere a etichetelor pe suprafața containerului ("Stânga", "Centru", "Dreapta"). Acționand aceste butoane se poate testa modul de aranjare al etichetelor pentru diferite tipuri de aliniere. |
Oricare din aceste applet-uri poate fi vizionat și într-un
appletviewer, dacă (din fereastra X-window sau MS-DOS) se dă comanda:
appletviewer fisierHTML
De exemplu, pentru a vizualiza applet-ul
TestFlowAp, se dă comanda
appletviewer TestFlow.html
unde TestFlow.html este fișierul HTML în care
este invocat acest applet.