Documente Academic
Documente Profesional
Documente Cultură
? Crearea unui applet simplu Ciclul de viat a Interfata grac cu utilizatorul a Denirea i folosirea parametrilor s Tag-ul APPLET Folosirea relor de executie Alte metode oferite de clasa Applet Arhivarea appleturilor Restrictii de securitate Appleturi care sunt i aplicatii s
1
Ce este un applet ? Un applet reprezint un program Java a ce gestioneaz o suprafat de aare (cona a s tainer) ce poate inclus a ntr-o pagin a Web. Pachete: java.applet Clasa principal extinde Applet a
Un applet nu poate executat independent El este executat de ctre browser-ul a care a fost arcat pagina Web ce n nc a contine appletul sau de ctre programe a specializate. Browsere Internet Explorer Netscape Mozilla Opera Programe specializate - appletviewer Utilitar inclus distributia J2SDK. n
3
3. Compilarea
javac FirstApplet.java
Ciclul de viat a Incrcarea memorie a n Este instantiat clasa principal a a Initializarea Este apelat metoda init a Pornirea Este apelat metoda start a Executia propriu-zis a Oprirea temporar a Este apelat metoda stop a acestuia a Oprirea denitiv a Este apelat metoda destroy a
Structura general a
import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class StructuraApplet extends Applet { public } public } public } public } } void init() { void start() { void stop() { void destroy() {
Aceste metode sunt apelate automat de browser i nu trebuie apelate exs plicit din program !
Interfata grac cu utilizatorul a Folosind componente Plasarea componentelor, gestionarea pozitionrii a lor i tratarea evenimentelor generate se s realizeaz la fel ca i cazul aplicatiilor. a s n Uzual, operatii executate init. n Gestionar de pozitionare: FlowLayout Folosind desenarea public void paint(Graphics g) { // Desenare ... } Evenimentele tratate sunt cele generate de mouse sau tastatur. a
Denirea i folosirea parametrilor s Permit personalizarea aspectului sau comportrii unui applet fr a-i a aa schimba codul. Denirea
<APPLET CODE="TestParametri.class" WIDTH=100 HEIGHT=50 <PARAM NAME=textAfisat VALUE="Salut"> <PARAM NAME=numeFont VALUE="Times New Roman"> <PARAM NAME=dimFont VALUE=20> </APPLET>
Folosirea - getParameter Documentarea parametrilor getParameterInfo returneaz un veca tor de triplete: (numele, tipul, descriere).
10
Tag-ul APPLET
<APPLET CODE = clasaApplet WIDTH = latimeInPixeli HEIGHT = inaltimeInPixeli [ARCHIVE = arhiva.jar] [CODEBASE = URLApplet] [ALT = textAlternativ] [NAME = numeInstantaApplet] [ALIGN = aliniere] [VSPACE = spatiuVertical] [HSPACE = spatiuOrizontal] > [< PARAM NAME = parametru1 VALUE = valoare1 >] [< PARAM NAME = parametru2 VALUE = valoare2 >] ... [text HTML alternativ] </APPLET>
11
Folosirea relor de executie Fiecrui applet este creat automat a i un r de executie responsabil cu apelarea metodelor acestuia. Acestea vor rula concurent. Dpdv GUI, ecare applet are acces la un acelai r de executie, creat de s asemenea automat, responsabil cu desenareai cu transmiterea mesajelor gens erate de ctre componente. a Operatiunile consumatoare de timp este recomandat s le rea alizm a ntr-un alt r de executie
12
13
14
15
16
17
Aarea imaginilor s Folosind o suprafat de desenare (Canvas) a sau Desennd direct pe suprafata applea tului Obtinerea unei referinte la o imag ine: getImage din clasa Applet
Listing 6: Aarea imaginilor s
import java . applet . Applet ; import java . awt .*; public class Imagini extends Applet Image img = null ; {
public void init () { img = getImage ( getCodeBase () , " taz . gif " ) ; } public void paint ( Graphics g ) { g . drawImage ( img , 0 , 0 , this ) ; } }
18
Contextul de executie = pagina n care ruleaz appletul. a AppletContext contex = getAppletContext(); Aarea unor documente browser s n
try { URL doc = new URL("http://www.infoiasi.ro"); getAppletContext().showDocument(doc); } catch(MalformedURLException e) { System.err.println("URL invalid! \n" + e); }
19
Comunicarea cu alte applet-uri Identicarea unui applet aat pe aceeai s pagina getApplet, getApplets Apelarea unei metode sau setarea unei variabile publice a acestuia Redarea sunetelor - format .au n Folosind metoda play din clasa Applet Folosind un obiect de tip AudioClip: start, loop, stop
20
21
Arhivarea appleturilor Reprezint cea mai ecient modala a itate de a distribui un applet. Arhivarea ierelor s
jar cvf arhiva.jar ClasaPrincipala.class AltaClasa.class imagine.jpg sunet.au // sau jar cvf arhiva.jar *.class *.jpg *.au
22
Restrictii de securitate Browser-ul instaleaz un manager de a securitate (SecurityManager) care va superviza activitatea appletului, aruncnd a exceptii de tip SecurityException pen tru operatii nepermise. Un applet nu poate s: a
Citeasc sau s scrie iere pe calculatorul pe care a a a s fost ncarcat (client). Deschid conexiuni cu alte maini afar de cea de a s n a pe care provine (host). Porneasc programe pe maina client. a s Citeasc diverse proprieti ale sistemului de operare a at al clientului.
23
Semnarea cu jarsigner:
> jarsigner -keystore .keystore -storepass password myjar.jar alias
24
Permisiuni Crearea unui sier de permisiuni (policy le) se face cu utilitarul policytool: CodeBase=URL SignedBy Fisierul rezultat va de tipul:
grant codeBase "file://d:/java/curs/20/ex/" { permission java.io.FilePermission "test.txt", "write"; };
25
Folosirea unui sier de permisiuni Implicit managerul de securitate instalat va folosi sierele de securitate specicate in: java.home/lib/security/java.security. Acestea sunt:
policy.url.1=file:${java.home}/lib/security/java.policy policy.url.2=file:${user.home}/.java.policy java.home=c:/jdk1.5.0/jre user.home=c:/windows
26
27