CATEGORII DOCUMENTE |
Unul dintre scopurile limbajului Java a fost crearea unor programe mici (applet) care sa ruleze in interiorul unui browser Web.
Un applet reprezinta o suprafata de afisare (container) ce poate fi inclusa intr-o pagina Web si gestionata printr-un program Java. Un astfel de program se mai numeste miniaplicatie.
Codul
unui applet poate fi format din una sau mai multe clase. Una dintre acestea
este principala si extinde clasa JApplet, fiind clasa
ce trebuie specificata in documentul HTML ce descrie pagina de Web in care
dorim sa includem applet-ul.
Diferenta fundamentala dintre un applet si o aplicatie
consta in faptul ca, un applet nu poate fi executat independent, ci
va fi executat de browser-ul in care este incarcata pagina Web ce
contine applet-ul respectiv. O aplicatie independenta este
executata prin apelul interpretorului java, avand ca parametru
numele clasei principale a aplicatiei, clasa principala fiind cea
care contine metoda main.
Un applet nu se poate atinge de hardisk-ul local prin citiri sau scrieri. Scrierea este impiedicata din cauza virusilor care s-ar putea instala, iar citirea deoarece nu se doreste preluarea de informatii de pe statia locala.
Un neajuns al applet-urilor ar putea fi timpul destul de lung necesar incarcarii lor. O metoda de inlaturare a acestui neajuns ar fi arhivarea applet-urilor intr-un fisier JAR (Java ARchive) care sa cuprinda toate componentele. Astfel, fisierul compresat este download-at la o singura tranzactie cu server-ul.
Un avantaj al folosirii applet-urilor este lipsa necesitatii instalarii lor. De fapt, instalarea este automata de cate ori utilizatorul incarca pagina Web care contine applet-ul.
Pachetul care ofera suport pentru crearea de applet-uri este javax.swing. Clasa JApplet furnizeaza tot ce este necesar pentru construirea si intretinerea unui applet. Crearea unui applet implica implementarea metodelor puse la dispozitie de clasa JApplet care ne ajuta sa descriem comportamentul dorit al applet-ului.
Ierarhia de clase este:
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--java.awt.Panel
|
+--java.applet.Applet
|
+--javax.swing.JApplet
Executia unui applet incepe in momentul in care un browser afiseaza o pagina Web in care este inclus applet-ul respectiv si poate trece prin mai multe etape. Fiecare etapa este strans legata de un eveniment generat de catre browser si determina apelarea unei metode specifice din clasa ce implementeaza appletul.
Incarcarea in memorie - se creeaza o instanta a clasei principale a applet-ului si se incarca in memorie.
Initializarea - se apeleaza metoda init ce permite initializarea diverselor variabile, citirea unor parametri de intrare, etc. Metoda init este responsabila si pentru asezarea tuturor componentelor pe forma.
Pornirea - se apeleaza metoda start
Executia propriu-zisa - consta in interactiunea dintre utilizator si componentele afisate pe suprafata applet-ului.
Oprirea temporara - In cazul in care utilizatorul paraseste pagina Web in care ruleaza applet-ul se apeleaza metoda stop a acestuia, dandu-i astfel posibilitatea sa se opreasca temporar cat timp nu este vizibil, pentru a nu consuma inutil din timpul procesorului. Acelasi lucru se intampla daca fereastra browser-ului este minimizata. In momentul cand pagina Web ce contine applet-ul devine din nou activa, va fi reapelata metoda start.
Oprirea definitiva - La inchiderea tuturor instantelor browser-ului folosit pentru vizualizare, applet-ul va fi eliminat din memorie si va fi apelata metoda destroy a acestuia, pentru a-i permite sa elibereze resursele detinute. Apelul metodei destroy este intotdeauna precedat de apelul lui stop.
import javax.swing.JApplet;
import java.awt.*;
import java.awt.event.*;
public class StructuraApplet extends JApplet
public void start()
public void paint(Graphics g)
public void stop()
public void destroy()
}
Observatie: Aceste metode sunt apelate automat de browser si nu trebuie apelate explicit din program !
Un browser Web interpreteaza continutul (textul) unui fisier .html (Hyper Text Markup Language). Limbajul HTML consta intr-o colectie de marcaje (tag-uri). Marcajele au rolul de a descrie modul in care va aparea afisat textul, de a comanda browser-ului sa utilizeze si alte resurse Internet, aflate in fisiere diferite.
Sintaxa unui marcaj este:
<NumeTag [parametri ]> text </NumeTag>
Parametrii se scriu sub forma:
NumeParametru = valoare
Structura unui document .html este:
<HTML>
<HEAD>
<TITLE>
titlul documentului
</TITLE>
</HEAD>
<BODY>
. . .
<APPLET parametrii>
<PARAM parametrii>
<PARAM parametrii>
. . .
<PARAM parametrii>
</APPLET>
. . .
</BODY>
</HTML>
Consideram cunoscute notiunile de baza ale HTML. Ceea ce ne intereseaza pentru construirea applet-urilor este marcajul <APPLET>. Acesta are parametrii obligatorii si optionali.
Parametrii obligatorii:
CODE - valoarea lui este numele fisierului care contine clasa applet-ului: NumeClasa.class;
WIDTH - valoarea lui este latimea ferestrei atribuita de browser applet-ului la afisarea documentului .html;
HEIGHT - valoarea lui este inaltimea ferestrei atribuita de browser applet-ului la afisarea documentului .html;
Parametrii optionali:
CODEBASE - valoarea lui este adresa URL (Universal Resource Locator) sau calea la fisierul cu clasa applet-ului. Daca parametru lipseste, cautarea clasei se face in directorul curent (cel din care a fost incarcat fisierul .html);
VSPACE - valoarea lui este inaltimea zonei (exprimata in pixeli) care se lasa libera deasupra si dedesubtul ferestrei applet-ului;
HSPACE - valoarea lui este latimea zonei (exprimata in pixeli) care se lasa libera in stanga si in dreapta ferestrei applet-ului;
ALT - Specifica textul ce trebuie afisat daca browser-ul intelege marcajul <APPLET> dar nu poate rula applet-uri Java.
NAME - Ofera posibilitatea de a da un nume respectivei instante a applet-ului, astfel incat mai multe applet-uri aflate pe aceeasi pagina sa comunice intre ele folosindu-se de numele lor.
ALIGN - Semnifica modalitatea de aliniere a applet-ului in pagina Web. Acest atribut poate primi una din urmatoarele valori: left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom, semnificatiile lor fiind aceleasi ca si la marcajul IMG.
Marcajul <PARAM> nu este obligatoriu si poate sa apara atunci cand se doreste ca applet-ul sa preia parametrii. Un parametru este definit prin:
NAME - reprezinta numele variabilei recunoscut de applet;
VALUE - reprezinta valoarea receptionata de applet; este de tip String.
Exemplu 1: Exemplifica ordinea apelarii metodelor.
import javax.swing.*;
import java.awt.*;
public class app1 extends JApplet
public void start()
public void paint(Graphics g)
public void stop()
public void destroy()
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Primul Applet </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app1.class' WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 2: Afiseaza niste figuri geometrice.
import javax.swing.*;
import java.awt.*;
public class app2 extends JApplet
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Figuri geometrice </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app2.class' WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 3: Afiseaza lista tuturor font-urilor cunoscute de sistem.
import java.awt.*;
import javax.swing.*;
public class app3 extends JApplet
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Ce de mai font-uri !!! </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app3.class' WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 4: Seteaza un font si ii tipareste caracteristicile.
import javax.swing.JApplet;
import java.awt.Graphics;
import java.awt.Font;
public class app6 extends JApplet
public void paint (Graphics g)
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Ce font frumos !!! </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app6.class' WIDTH=700 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 5: Deseneaza un poligon si il copiaza intr-o alta zona a ferestrei.
import javax.swing.JApplet;
import java.awt.*;
public class app7 extends JApplet ;
int yValues[] = ;
private Polygon p2;
public void init ()
public void paint (Graphics g)
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Ce poligoane </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app7.class' WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 6: Deseneaza un poligon si il copiaza intr-o alta zona a ferestrei.
import javax.swing.JApplet;
import java.awt.*;
public class app7 extends JApplet ;
int yValues[] = ;
private Polygon p2;
public void init ()
public void paint (Graphics g)
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Ce poligoane </TITLE>
</HEAD>
<BODY>
<APPLET CODE='app7.class' WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Exemplu 7: Suma a doua numere folosind preluarea parametrilor.
import javax.swing.*;
import java.awt.*;
public class suma extends JApplet
public void paint(Graphics g)
}
Documentul .html este:
<HTML>
<HEAD>
<TITLE> Suma </TITLE>
</HEAD>
<BODY>
<APPLET CODE='suma.class' WIDTH=300 HEIGHT=200>
<PARAM name='m' value='2'>
<PARAM name='n' value='3'>
</APPLET>
</BODY>
</HTML>
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1685
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved