Crearea primei aplicatii independente - Java

download Crearea primei aplicatii independente - Java

of 13

Transcript of Crearea primei aplicatii independente - Java

  • 7/29/2019 Crearea primei aplicatii independente - Java

    1/13

    Crearea primei aplicatii independente

    Daca ati instalat mediul de dezvoltare Java pe calculator, asa cum am aratat incapitolul 2, Prezentarea setului de dezvoltare Java (JDK), puteti trece la creerea primeidumneavoastra aplicatii independente. Pentru a parcurge exemplele din aceasta sectiune,aveti nevoie de compilatorul si interpretorul Java.

    Structura de baza a unei aplicatii independente

    Primul dumneavoastra program Java este o aplicatie independenta numita FirstApp.Una din principalele diferente intre miniaplicatiile si aplicatiile Java este includerea metodeimain ( ). Toate aplicatiile Java contin o metoda main ( ).

    Desi aceasta aplicatie nu face decat sa afiseze textul Prima mea aplicatie independentaeste un succes., ea va constitui punctul de plecare petru programe si concepte maiavansate. O mare calitae a programelor Java este accea ca toate respecta aceleasi principiide constructie, indiferent de complexitatea programelor.

    Nici aplicatia de cinci linii din listingul 4.1 nu face exceptie de la aceasta regula. Ea

    contine toate componentele de baza ale unei aplicatii Java mai complexe si ale unuiprogram orientat pe obiecte:

    Este un obiectFoloseste incapsularea si transmiterea de mesajeDefineste o clasaFoloseste mostenireaFoloseste modificatorii de acces

    Listingul 4.1. Prima dumneavoastra aplicatie Java.

    Class FirstApp {public static void main (String args[]) {

    System.out.prinln(Prima mea aplicatie independenta

    este

    un succes.);

    }

    }

    Pentru a intelege cum foloseste aceasta aplicatie cele cinci elemente cheie aleprogramarii orientate spre obiecte, trebuie sa examinati modul in care este legata aplicatiade aceste concepte.

    Obiectul si incapsularea in aplicatia FirstApp

    Obiectele reprezinta unitatea fundamentala a programelor orientate pe obiecte. Toateobiectele au o stare si un comportament. Tot ceea ce cunoaste un obiect despre variabilelesi metodele pe care le contine formeaza starea obiectului. Actiunile pe care le poateefectua un obiect descriu comportamentul acestuia. Programul FirstApp defineste unsingur obiect care are:

    O stare care nu se poate schimba (este statica)

    Un comportament care se rezuma la afisarea unui sir de caractere

  • 7/29/2019 Crearea primei aplicatii independente - Java

    2/13

    Puteti sa folositi obiectele pentru a trimite mesaje catre alte obiecte, fara sa stiti cumfunctioneaza acestea. Este un concept al programarii orientat pe obiecte numitincapsulare. In Java, tote obiectele, clasele si pachetele sant incapsulate.

    Incapsularea va permite sa folositi un obiect Java, daca stiti ce valori vor fi acceptatede obiectul respectiv. Programul FirstApp utilizeaza conceptul de incapsulare pentruaccesul la metoda println( ). Puteti sa folositi metoda println( ) fara sa stiti cumfunctioneaza aceasta. Tot ce trebuie sa stiti este faptul ca puteti transmite metodei un sirde caractere, care va fi afisat pe ecran.

    Un alt element pe care trebuie sa il cunoasteti pentru a avea acces la un obiect estelocul in care se gaseste acesta in spatiul de nume. Java va permite accesul la metodele sivariabilele publice, cu conditia sa stiti pozitia acestora in spatiul de nume. Metodaprintln( ) este una dintre sutele de metode din clasa System. Clasa System face parte dinprincipalul pachet al interfetei API (Aplication Programming Interface).

    Java stie unde sa gaseasca metoda println( ), deoarece este specificata calea de acces laaceasta metoda. Desi nu este absolut necesara specificarea caii complete de acces lametode, in cazul metodei println( ) aceasta este: Java.lang.Sysytem.out.println

    Iata cum puteti interpreta in cuvinte simple calea de acces: println( ) este o submetoda

    a metodei out, care face parte din clasa System. Clasa System face parte din pachetul lang,al interfetei Java API.

    Clase si mosteniri in aplicatia FirstApp

    In Java clasele incapsuleaza obiecte si grupeaza un set de metode si variabile inrudite.Desi majoritatea programelor Java contin declaratii multiple de clase, aplicatia FirstAppare una singura. Linia urmatoare a programului FirstApp declara o clasa de obiecte cunumele FirstApp:

    class FirstApp {

    De obicei, puteti sa declarati clasele Java folosind una dintre cele doua forme generale.Prima forma a unei declaratii de clasa este:

    class nume {

    // corpul declaratiei clasei

    }

    Cea de-a doua forma generala de declarare a unei clase este:

    class nume extends clasa_extinsa {

    // corpul declaratiei clasei

    }

    In ambele forme, acolada deschisa marcheaza inceputul clasei, iar acolada inchisamarcheaza sfarsitul acesteia. Intre acolade, definiti metodele si variabilele de instantaasociate clasei.

    Toate clasele Java pot fi extinse la alte clase, implicit sau explicit. In felul acesta, putetisa creati o clasa care mosteneste functionalitatea unei clase existente. Acest concept alprogramarii orientate pe obiecte se numeste mostenire. Mostenirea va permite sa refolositicodul existent si sa extindeti functionalitatea claselor existente.

    Ca si alte clase Java care nu extind in mod explicit o clasa existenta, clasa FirstAppextinde clasa Object. Prin mostenirea functionalitatii clasei Object, programul poate face omultime de lucruri pe care, altfel, nu le-ar putea realiza. Pentru a putea pune in evidentaacest lucru, vom rescrie prima forma generala de declarare a unei clase, astfel:

  • 7/29/2019 Crearea primei aplicatii independente - Java

    3/13

    class nume extends Object {

    // corpul declaratiei clasei

    }

    Modificatori de acces in aplicatia FiorstApp

    In java, accesul la metode si variabile este controlat prin modificatori de acces.Limbajul de programare Java defineste patru niveluri de control al accesului la metode sivariabile:

    Public Accesibile tuturor claselor, fara restrictie Protejat Accesibile numai obiectelor din acceasi clasa sau subclasa Privat Accesibile numai obiectelor din acceasi clasa Prestabilit Daca nu sunt declarate altfel, se presupune ca sunt accesibile

    tuturorclaselor din acelasi pachet (prietenoase)

    Metoda main( ) din aplicatia FirstApp este declarata publica. Aceasta inseamna cametoda este complet accesibila altor metode si variabile. Un alt program poate obtineaccesul la metoda main( ) a aplicatiei FirstApp, specificand calea de acces la aceastametoda in spatiul de nume Java.

    Punerea tuturor elementelor laolalta

    Daca ati inteles in mare modul in care aplicatia FirstApp foloseste concepteleprogramarii orientate pe obiecte, reluati codul sursa al aplicatiei, linie cu linie.

    Prima linie a aplicatiei declara clasa FirstApp. Deoarece aceasta declaratie nu specificao alta clasa pe care o extinde clasa FirstApp, in mod prestabilit FirstApp extinde clasa

    Object. Acolada deschisa marcheaza inceputul clasei FirstApp:

    class FirstApp {

    Urmatoarea linie declara mai multe lucruri in legatura cu metoda numita main ( ):

    public static void main (String args[]) {

    Putem descompune declaratia de mai sus in elementele sale componenete, astfel:

    public Acest modificator de acces precizeaza ca metoda este accesibilaaltor clase.

    static Acest modificator specifica faptul ca metoda nu poate fi modificatasi este implicit finala, ceea ce inseamna ca nu poate fi redefinita.

    void Modificatorul void specifica faptul ca metoda nu returneaza nici ovaloare.

    main() Cuvantul cheie main declara metoda main ( ) a aplicatiei.Argumentele metodei sunt specificate intre parantezele rotunde.Metoda main ( ) este necesara in toate aplicatiile Java, pentru apreciza interpretorului unde trebuie sa inceapa executia. Spredeosebire de programele C/C++, metoda main ( ) din aplicatiileJava nu returneaza nici o valoare. Java trateaza exceptiile pe contpropriu, nu le transmite sistemului.

  • 7/29/2019 Crearea primei aplicatii independente - Java

    4/13

    (String args[]) Specifica faptul ca metoda main ( ) are un argument de tip String(sir de caractere.

    { Acolada deschisa marcheaza inceputul metodei.

    Urmatoarea instructiune apeleaza metoda println ( ) din clasa System si afiseaza

    mesajul Prima mea aplicatie independenta este un succes.. Ca si in cazul altor metode,argumentele transmise metodei println ( ) sunt declarate intre paranteze rotunde. Toateinstructiunile Java se termina cu caracterul punct si virgula:

    System.out.prinln(Prima mea aplicatie independenta este un

    succes.);

    Ultimile doua linii ale aplicatiei contin cate o acolada inchisa. Prima acolada inchideblocul de cod al metodei main ( ), iar cea de-a doua inchide blocul de cod al claseiFirstApp.

    Crearea aplicatiei FirstApp

    Dupa ce ati vazut cum arata programul FirstApp, puteti sa creati acest program pecalculatorul dumneavoastra. Mai intai, trebuie sa faceti insa doua lucruri:

    1. Sa stabiliti pozitia aplicatiei in sistemul de fisiere2. Sa creati un fisier denumit corespunzator

    Crearea structurii de fisiere pentru aplicatie

    Atunci cand ati instalat pe calculator setul de dezvoltare Java, ati creat un director sauun dosar pentru pastrarea fisierelor utilizate de Java. Puteti sa stocati in acest director si

    aplicatiile proprii, dar este recomandabil sa folositi alte directoare, pentru a puteadiferentia cu usurinta programele originale de cele create de dumneavoastra.

    Denumirea fisierului sursa al aplicatiei

    Dupa ce ati hotarat unde va fi plasata aplicatia si ati creat directoarele necesare, putetitrece la crearea codului sursa al aplicatiei. De fiecare data cand creati codul sursa al uneiaplicatii, amintiti-va urmatoarele trei reguli:

    Trebuie sa creati codul sursa in fisiere cu extensia .java.

    Fisierul care contine codul sursa trebuie sa foloseasca numele clasei primare (alprimei clase declarate) in fisierul respectiv.

    Indiferent daca sistemul de operare al calculatorului face diferenta intre literele marisi cele mici, compilatorul Java face aceasta distinctie, iar numele fisierelor trebuie sacorespunda exact numelor de clase.

    Pornind de la aceste reguli, trebuie sa stocati programul FirstApp intr-un fisier numitFirstApp.java. puteti folosi orice editor sau procesor de texte pentru crearea fisierului, insaacesta trebuie sa fie salvat ca fisier ascii standard. Pentru simplitatea si usurinta de folosire,majoritatea programatorilor prefera editoarele simple de text in locul programelor deprelucrare a textelor. In sistemele UNIX, puteti sa folositi un editor cum ar fi vi sau

  • 7/29/2019 Crearea primei aplicatii independente - Java

    5/13

    emacs, din linia de comanda. In sistemele Windows 95/NT, folositi editorul MS-DOS sauWindows Notepad. In sistemele Macintosh, puteti sa folositi BBEdit sau SimpleText.

    Cand terminati de introdus codul sursa, verificati-l linie cu linie, pentru a va asigura caeste corect. Dupa ce va convingeti ca nu exista greseli, salvati-l in directorul desemnatpentru pastrarea aplicatiilor.

    Compilarea aplicatiei FirstApp

    Pentru compilarea aplicatiei FirstApp, folositi compilatorul Java, javac. La compilareaunui fisier sursa, compilatorul creeaza un fisier separat pentru fiecare clasa din program.Daca aplicatia are mai multe fisiere de calsa, trebuie sa apelati interpretorul Java cunumele fisierului care contine metoda main ( ). Deoarece aplicatia FirstApp contine osingura declaratie de clasa, compilatorul Java va crea un singur fisier.

    Pe calculatoarele Macintosh, compilarea programului se realizeaza tragand pur sisimplu cu mouse-ul fisierul FirstApp.java peste pictograma compilatorului. Posesorii altorsisteme de operare nu trebuie sa fie prea ividiosi. In cazul acestora, javac este uninstrument de lucru in linia de comanda. Deoarece linia de comanda ofera o interfata

    simplificata si o proiectare liniara, compilatoarele pentru UNIX, Windows 95/NT si OS/2sunt mult mai flexibile.

    Folosirea unui compilator grafic

    Iata care sunt etapele pe care trebuie sa le parcurgeti pentru compilarea aplicatieiFirstApp cu ajutorul unui compilator grafic:

    1. Trageti si plasati fisierul FirstApp.java in compilator sau selectati optiunea Open(Deschide) din meniul File (fisier) al compilatorului.

    2. Fisierul compilat, numit FirstApp.class, este plasat in acelasi director cu fisierul

    sursa.3. Daca apare o fereastra cu un mesaj de eroare, asigurati-va ca ati scris corect codul

    in fisierul sursa FirstApp.java. In cazul in care nu puteti compila fisierul nici dupacorectarea greselilor, cititi sectiunea Probleme deosebite de la sfarsitul acestuicapitol.

    Folosirea unui compilator in linia de comanda

    Iata care sunt etapele pe care trebuie sa le parcurgeti pentru compilarea aplicatieiFirstApp cu ajutorul unui compilator din linia de comanda:

    1. Treceti in directorul care contine codul sursa si scrieti in linia de comandaurmatoarele:

    javac FirstApp.java

    2. Fisierul compilat, numit FirstApp.class, este plasat in acelasi director cu fisierulsursa.

    3. Daca este afisat un mesaj de eroare care spune ca fisierul javac nu poate fi gasit,calea de acces nu este stabilita corect. Faceti corectiile necesare sau specificaticalea completa de acces la compilator. Daca in zona de comanda sunt afisate erorireferitoare la codul sursa, verificati codul in fisierul sursa FirstApp.java. In cazul incare nu puteti compila fisierul nici dupa corectarea greselilor, cititi sectiunea

    Probleme deosebite de la sfarsitul acestui capitol.

  • 7/29/2019 Crearea primei aplicatii independente - Java

    6/13

    Rularea aplicatiei FirstApp

    La compilarea unei aplicatii, compilatorul creeaza un fisier separat pentru fiecare clasadeclarata. Deoarece programul FirstApp contine o singura declaratie de clasa, va fi creatun singur fisier. Puteti rula aplicatia cu ajutorul interpretorului Java, numit java. Pecalculatoarele Macintosh, folosirea interpretorului Java se face tragand pur si simplu cumouse-ul fisierul FirstApp.class peste pictograma interpretorului. In alte sisteme,interpretorul Java este un instrument d lucru din linia de comanda si este apelat cu numeleclasei pe care vreti sa o rulati.

    Folosirea unui interpretor grafic

    Iata care sunt etapele pe care trebuie sa le parcurgeti pentru rularea aplicatiei FirstAppcu ajutorul unui interpretor grafic: trageti si plasati fisierul FirstApp.class peste pictogramainterpretorului sau selectati optiunea Open (Deschide) din meniul File (Fisier) alinterpretorului. Ar trebui sa vedeti pe ecran mesajul Prima mea aplicatie independenta este

    un succes. Felicitari propozitia de pe ecran exprima purul adevar. Daca interpretorulafiseaza un mesaj de eroare, incercati sa rulati fisierul cu extensia .class. In cazul in careproblemele persista, cititi sectiunea Probleme deosebite de la sfarsitul acestui capitol.

    Folosirea unui interpretor din linia de comanda

    Iata care sunt etapele pe care trebuie sa le parcurgeti pentru rularea aplicatiei FirstAppcu ajutorul unui interpretor din linia de comanda: treceti in directorul care contine fisierulcompilat cu extensia .class si scrieti in linia de comanda urmatoarele:

    java FirstApp

    Ar trebui sa vedeti pe ecran mesajul Prima mea aplicatie independenta este un succes.Felicitari propozitia de pe ecran exprima purul adevar. Daca interpretorul afiseaza unmesaj de eroare, asigurati-va ca ati scris corect numele FirstApp si ca nu ati adaugatextensia .class. In cazul in care problemele persista, cititi sectiunea Probleme deosebitede la sfarsitul acestui capitol.

    Prima dumneavoastra miniaplicatie Java

    Daca mediul de dezvoltare Java este instalat pe calculatorul dumneavoastra, asa cumam aratat in capitolul 2, puteti trece la crearea primei dumneavoastra miniaplicatii. Pentrua parcurge exemplele di aceasta sectiune, aveti nevoie de compilatorul Java si de

    programul de vizualizare a miniaplicatiilor Java.

    Structura de baza a unei miniaplicatii

    Desi prima dumneavoastra miniaplicatie este mai complexa decat aplicatiaindependenta pe care ati creat-o anterior, programul foloseste aceleasi elementeconstructive si aceleasi concepte ale programarii orientate pe obiecte. MiniaplicatiaFirstApplet foloseste componentele multimedia integrate ale limbajului Java pentruafisarea unei imagini si redarea unui fisier de sunet.

    Listingul 4.2 cuprinde miniaplicatia FirstApplet. Desi programul are 17 linii, patrudintre acestea sunt inserate doar pentru a face programul mai usor de citit.

  • 7/29/2019 Crearea primei aplicatii independente - Java

    7/13

    Listingul 4.2. Prima dumneavoastra miniaplicatie Java.

    import java.awt.*;

    import java.applet.*;

    public class FirstApplet extends Applet {

    Image NewImage;

    public void init() {

    resize(400,400);

    NewImage = getImage(getCodeBase(),New.gif);

    }

    public void paint (Graphics g) {

    g.drawImage(NewImage,0,0,this);

    play(getCodBase(),New.au);

    }

    }

    In continuare, vom trece in revista codul miniaplicatiei FirstApplet lini cu linie.

    Instructiunea import permite miniaplicatiei sa foloseasca metode si clase din altepachete:

    import java.awt.*;

    import java.applet.*;

    In mod prestabilit, toate programele Java importa pachetul java.lang, care continefunctiile de baza ale limbajului Java. Asteriscul de la sfarsitul instructiunii import permite

    importul dinamic al claselor Java. In acest exemplu, sunt importate dinamic clasele dinpachetele java.awt si java.applet.

    Linia urmatoare declara o clasa numita FirstApplet care extinde clasa Applet:

    public class FirstApplet extends Applet {

    Prin extinderea clasei Applet, FirstApplet mosteneste functionalitatea acestei clase.Acolada deschisa marcheaza inceputul clasei FirstApplet.

    Linia urmatoare initializeaza variabila NewImage si o declara de a fi de tipul Image. Inacest caz, NewImage are rolul unui substituent al imaginii care va fi afisata:

    Image NewImage;

    Linia urmatoare declara o metoda numita init ( ), care redefineste metoda init ( ) aclasei Applet:

    public void init() {

    Metoda init ( ) a clasei Applet este redefinita, astfel incat sa puteti redimensionafereastra inainte de afisarea imaginii. Modificatorul public specifica faptul ca metoda esteaccesibila altor clase. Modificatorul void specifica faptul ca metoda nu returneaza nici ovaloare. In mod normal, argumentele acceptate de o metoda sunt incadrate de parantezerotunde. Deoarece metoda init ( ) nu accepta argumente, intre paranteze nu apare nimic.

  • 7/29/2019 Crearea primei aplicatii independente - Java

    8/13

    Folosind metoda resize ( ), puteti sa redimensionati zona de afisare a miniaplicatiei. Inacest exemplu, dimensiunea zonei de afisare este stabilita la 400x400 pixeli:

    resize(400,400);

    Dupa ce ati declarat o variabila de un anumit tip, puteti sa o folositi. Linia urmatoare

    stabileste o valoare pentru variabila NewImage;

    NewImage = getImage(getCodeBase(),New.gif);

    Pentru aceasta, este folosita metoda getImage ( ). Primul argument al metodei este unapel al metodei getCodeBase ( ), care returneaza pozitia directorului de baza sau adirectorului curent de pe hard-disc. Directorul de baza este directorul care contine fisierulclasei pe care o rulati. Al doilea argument este numele imaginii care poate fi gasita inpozitia specificata.

    Urmatoarea linie de cod declara o metoda numita paint ( ), care redefineste metodapaint ( ) din pachetul AWT:

    public void paint (Graphics g) {

    Metoda paint ( ) este redefinita pentru a permite miniaplicatiei sa afiseze imaginea intr-o anumita pozitie pe ecran. Modificatorul public specifica faptul ca metoda este accesibilaaltor clase. Modificatorul void specifica faptul ca metoda nu returneaza nici o valoare. Laapelarea metodei paint ( ), trebuie sa folositi ca parametru un obiect al clasei Graphics.Graphics este o clasa de baza abstracta pentru toate obiectele grafice. Elementul greprezinta fereastra de tip Graphics specificata.

    Linia urmatoare apeleaza obiectul g, de tip Graphics, pentru afisarea imaginiiNewImage;

    g.drawImage(NewImage,0,0,this);

    Metoda care realizeaza de fapt operatiunea se numeste drawImage ( ). MetodadrawImage ( ) accepta argumente prin care i se precizeaza ce imagine trebuie sa afiseze siunde. In acest exemplu, obiectul NewImage este afisat in punctul de coordonate 0,0.Ultimul argument al metodei se numeste observator. Scopul acestuia este sa verifice dacaimaginea a fost afisata integral.

    Asa cum sugereaza si numele sau metoda play ( ) este folosita pentru redarea fisierelorde sunet. Primul argument al metodei play ( ) este un apel al metodei getCodeBase ( ),care returneaza pozitia directorului de baza sau a directorului curent de pe hard-disc.

    play(getCodBase(),New.au);

    Directorul de baza este directorul care contine fisierul clasei pe care o rulati. Al doileaargument este numele fisierului de sunet care poate fi gasit in pozitia specificata.

    Crearea miniaplicatiei

    Dupa ce ati vazut cum arata programul FirstApplet, puteti sa creati acest program pecalculatorul dumneavoastra. Mai intai, trebuie sa stabiliti insa pozitia miniaplicatiei insistemul de fisiere si sa creati un fisier cu numele corespunzator.

    Sugestie: Va recomandam sa stocati miniaplicatiile create de dumneavoastra si toatefisierele asociate acestora intr-un director numit java_applets. In functie de complexitate,puteti crea subdirectoare diferite pentru fiecare miniaplicatie. In cazul miniaplicatiilor

  • 7/29/2019 Crearea primei aplicatii independente - Java

    9/13

    complexe sau al celor la care lucreaza mai multi programatori, se recomanda stocareafiecarei miniaplicatii intr-un director separat.

    Dupa ce ati hotarat unde va fi plasata miniaplicatia si ati creat directoarele necesare,puteti trece la crearea codului sursa al miniaplicatiilor. De fiecare data cand creati codulsursa al unei miniaplicatiik, amintiti-va urmatoarele reguli:

    Trebuie sa creati codul sursa in fisiere cu extensia .java. Fisierul care contine codul sursa trebuie sa aiba numele clasei primare (al primei

    clase) declarate in fisierul respectiv Indiferent daca sistemul de operare al calculatorului face diferenta intre literele mari

    si cele mici, compilatorul Java face aceasta distinctie, iar numele fisierelor trebuie sacorespunda exact numelor de clase.

    Pornind de la aceste reguli, trebuie sa stocati programul FirstApplet intr-un fisier numitFirstApplet.java. Acesta va fi salvat ca fisier de text ASCII standard. Cand terminati deintrodus codul sursa, verificati-l linie cu linie, pentru a va asigura ca este corect. Dupa ceva convingeti ca nu exista greseli, salvati-l in directorul desemnat pentru pastrarea

    miniaplicatiilor.

    Compilarea miniaplicatiei FirstApplet

    Compilarea unei miniaplicatii se realizeaza la fel cu compilarea unei aplicatii. Pentrucompilarea miniaplicatiei FirstApplet, folositi compilatorul Java, javac. La compilarea unuifisier sursa, compilatorul creeaza un fisier separat pentru fiecare clasa din program. Dacaminiaplicatia are mai multe fisiere de clasa, trebuie sa apelati interpretorul Java cu numeleclasei care contine metoda primara. Deoarece FirstApplet contine o singura declaratie declasa, compilatorul Java va crea un singur fisier.

    Crearea unui fisier HTML pentru miniaplicatia dumneavoastra

    Deorece miniaplicatiile pot fi vizualizate cu ajutorul unor programe hipertextspecializate, cum ar fi browserele Web, trebuie sa creati un document HTML inainte de aputea utiliza miniaplicatia. In cadrul acestui document, pentru incarcarea si rulareaminiaplicatiei specificate, folositi o eticheta de marcare numita APPLET. In eticheta se face referire la clasele Java, nu la fisierele de clasa care se termina cuextensia .class. Exemplul de document HTML de mai jos contine o eticheta care se refera la clasa FirstApplet, si nu la fisierul numit FirstApplet.class.

    Cu ajutorul unui editor sau al unui procesor de texte, creati un fisier de text ASCIIstandard, cu urmatorul continut:

    First Java Applet

    Salvati acest fisier in acelasi director cu codul compilat al programului FirstApplet.Majoritatea documentelor HTML folosesc extensia .html; ar trebui sa salvati fisierul subun nume corespunzator, cum ar fi example.html.

  • 7/29/2019 Crearea primei aplicatii independente - Java

    10/13

    Rularea miniaplicatiei FirstApplet

    Dupa crearea fisierelor necesare pentru programul FirstApplet, puteti rula miniaplicatiacu ajutorul unui program de vizualizare a hipertextului. Setul de dezvoltare Java contineun astfel de program, numit appletviewer. Pe clculatoarele Macintosh, folosireaprogramului appletviewer Java se face tragand pur si simplu fisierul HTML pestepictograma AppletViewer. In alte sisteme, programul appletviewer este un instrument delucru din linia de comanda si poate fi apelat cu numele clasei pe care vreti sa o rulati.

    Probleme deosebite

    Rezolvarea problemelor aparute in programe este o adevarata arta. Unii programatorireusesc sa descopere toate erorile din sute de linii de cod in cateva minute. Altii pierd orein sir pentru aceeasi cantitate de cod. Din fericire, dupa ce setul JDK este instalat in modcorespunzator pe un calculator si testat, majoritatea erorilor apar in codul sursa si in cailede acces. Asadar, ceea ce veti citi in continuare nu reprezinta o lista exhaustiva a erorilorcare pot aparea in timpul rularii programelor Java. Este, mai degraba, o lista de indicatii

    care va pot ajuta sa rezolvati majoritatea programelor. Acestea se impart in trei categorii:

    Erori de compilare Erori de interpretare Erori de vizualizare

    Erori de compilare

    Erorile de compilare sunt afisate, in mod normal, direct in fereastra de comanda. Incazul in care compilatorul Java afiseaza o eroare nu mai este creat fisierul cu extensia

    .class. Prin urmare, trebuie sa corectati toate erorile inainte de a compila si rula codul.Compilatorul Java va indica locul unde apare o eroare in program. Insa unele erori pot sagenereze multe altele in cursul compilarii. Tinand seama de acest lucru, trebuie saexaminati mai intai primele erori semnalate. Dupa corectarea acestora, recompilati codul sivedeti daca apar alte erori.

    Multe dintre erorile de compilare sunt generate de greseli de dactilografiere. Acesteasunt destul de greu de identificat; s-ar putea sa fiti nevoiti sa verificati codul sursa litera culitera. Exista trei categorii de elemente pe care trebuie sa le verificati:

    Caracterele punctsi virgula Toate instructiunile trebuie sa se termine cu punct sivirgula.

    Acoladele Toate clasele si metodele trebuie sa aiba o acoladadeschisa si o acolada inchisa. Aceasta inseamna ca pentrufiecare declaratie de clasa si de metoda trebuie sa aveti oacolada deschisa si o acolada inchisa. ProgramulFirstApp are o declaratie de clasa si o declaratie demetoda. Ca urmare, in program trebuie sa existe douaacolade deschise si doua inchise. Programul FirstAppletare o declaratie de clasa si doua declaratii de metode;prin urmare, trebuie sa contina trei acolade deschise sitrei acolade inchise. In plus, acoladele trebuie sa fieplasate corespunzator. Acolada deschisa urmeaza dupa

  • 7/29/2019 Crearea primei aplicatii independente - Java

    11/13

    declaratia clasei sau a metodei. Acolada inchisa esteultimul element al clasei sau al metodei.

    Parantezele Toate numele de metode trebuie sa fie urmate deargumentele acestora, incadrate de paranteze rotunde.Chiar daca o metoda nu accepta nici un parametru,numele acesteia trebuie sa fie urmat de paranteze.

    Zece erori de compilare frecvente

    Urmeaza o lista cuprinzand 10 dintre cele mai frecvente erori cauzate de greseli dedactilografiere in FirstApp. Fiecare eroare de compilare are prezentata si solutia. Desigurca FirstApp este un program simplu, dar puteti aplica procedura de rezolvare aproblemelor la programe mai mari, inclusiv la FirstApplet.

    1. Eroarea de compilare nr. 1:

    FirstApp.java:1: { expected.

    Class FirstApp^

    1 error

    Solutie: Adaugati o acolada deschisa la declaratia clasei, pe prima linie, astfel:

    Class FirstApp {

    2. Eroarea de compilare nr. 2:

    FirstApp.java:3: ; expected.

    System.out.println(Prima mea aplicatie independenta

    este un succes.)

    ^1 error

    Solutie: Adaugati un caracter punct si virgula la sfarsitul liniei 3, astfel:

    System.out.println(Prima mea aplicatie independenta

    este un succes.);

    3. Eroarea de compilare nr. 3:

    FirstApp.java:2: ) expected.

    public static void main (String args[] {

    ^

    1 error

    Solutie: Inchideti paranteza din declaratia metodei de pe linia 2, astfel:

    public static void main (String args[]) {

    4. Eroarea de compilare nr. 4:

    FirstApp.java:2: ) expected.

    public static void main (String args]) {

    ^

    1 error

  • 7/29/2019 Crearea primei aplicatii independente - Java

    12/13

    Solutie: In acest caz, compilatorul Java afiseaza un mesaj ce poate produceconfuzie. De pe linia 2 nu lipseste nici o paranteza rotunda. Lipseste parantezapatrata deschisa. Desi mesajul este eronat, el ne poate ajuta sa detectam pozitiagreselii. Aceasta trebuie sa se afle undeva intre paranteza rotunda deschisa siparanteza rotunda inchisa. Problema poate fi rezolvata astfel:

    public static void main (String args[]) {

    5. Eroarea de compilare nr. 5:

    FirstApp.java:2: Class tring not found in type declaration.

    public static void main (tring args[]) {

    ^

    1error

    Solutie: Java cauta o clasa numita tring in loc de clasa numita String. Problemapoate fi rezolvata astfel:

    public static void main (String args[]) {

    6. Eroarea de compilare nr. 6:

    FirstApp.java:2: Class vod not found in type declaration.

    public static vod main (String args[]) {

    ^

    FirstApp.java:2: Return required at end of vod main

    (java.lang.String[]).

    Public static vod main (String args[]) {

    ^

    2errors

    Solutie: Cuvantul cheie void a fost scris incorect (vod). Din aceasta cauza,compilatorul Java afiseaza doua mesaje de eroare, unul corect si unul gresit. Estede ajuns sa corectati greseala de dactilografiere pentru a rezolva problema:

    public static void main (String args[]) {

    7. Eroarea de compilare nr. 7:

    FirstApp.java:2: Invalid method declaration; return type

    required.

    public static void (String args[]) {

    ^

    1 error

    Solutie: Declaratia metodei este invalida, deoarece lipseste numele metodei. Pentrucorectarea problemei, trebuie inserat cuvantul main:

    public static void main (String args[]) {

    8. Eroarea de compilare nr. 8:

  • 7/29/2019 Crearea primei aplicatii independente - Java

    13/13