Proiectarea Interfetelor Grafice - Java

Embed Size (px)

Citation preview

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    1/92

    UNIVRSITATEA TITU MAIORESCUFACULTATEA DE TIINA I TEHNOLOGIA

    INFORMAIEI

    PROIECTAREA INTERFEELOR PROIECTAREA INTERFEELOR GRAFICEGRAFICE

    Lector univ. r. Mirone!" P#rn$u

    % &''( %

    1

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    2/92

    )AVA

    Java este un mediu de programare ce ofer utilizatorului cadrul necesar i uneltele necesare pentru dezvoltarea aplicaiilor Java. Java este o tehnologie ce ofer suport dezvoltrii deaplicaii distribuite, independente de platform.

    Programele Java pot rula pe diferite tipuri de platforme, cu condiia ca pe aceste platforme s fie instalat o main virtual Java deasupra platformei respective. Avantajullimbajului Java, comparativ cu alte limbaje de programare este cone iunea str!ns cutehnologia "nternet.

    C"r"cteri*tici "!e !i+,"-u!ui )"v"

    #aracteristicile limbajului Java care l$au fcut i$l fac un limbaj de succes pe piaaactual de soft%are sunt prezentate in continuare&

    Si+ !it"te'imbajul Java prezint concepte fundamentale care sunt deosebit de simple.

    Programarea Java se poate (nva (n c!teva sptm!ni. Prile redundante din alte limbaje aufost (ndeprtate i s$au pstrat doar prile strict necesare.

    )ot (n vederea simplitii, tehnologia Java conine aa numitulG"r,"/e Co!ector ,care face ca programatorul s nu mai aib grija dezalocrii zonelor de memorie anterioralocate. Pentru cunosctorii limbajului #** acest lucru (nseamn c nu mai e nevoie de

    e!etedupne0.

    Orient"t e o,iecte'imbajul Java , spre deosebire de #+#**, este (n (ntregime orientat pe obiecte. u

    e ist o aplicaie (n care s nu e iste cel puin un obiect, o clas. -n Java, orice, cu e cepiac!torva tipuri de date fundamentale, este un obiect. )ehnologia programrii orientate peobiecte OOP 1 O,-ect Oriente Pro/r"++in/ / este singura care satisface cerinele actualeale dezvoltrii soft%are.

    Ro,u*t0e mrete gradul de siguran al codului. 0unt dou nivele de verificare pentru

    mrirea gradului de siguran& unul la compilare prezent (n marea majoritate a limbajelor/ iunul (n timpul rularii. #a urmare un program este mai puin supus erorilor.

    Securit"te"-ntr$o lume (n care calculatoarele nu mai pot e ista ca eniti solitare, fr a ficonectate (n reea, problema securitii este una din cele mai stringente. Problema care se pune este aceea a e istenei unui nivel de securitate (n cadrul limbajului. nul din principaleleavantaje ale limbajului Java care l$au fcut at!t de popular este gradul de securitate.Programele Java sunt fcute s ruleze (n sisteme distribuite, i calculatoarele pe care elelucreaz nu pot fi sigure de proveniena programelor.

    Din"+icJava este un limbaj dinamic prin faptul c multe decizii privind evoluia programului

    se iau (n momentul rulrii, larunti+e. 2atorit faptului c multe din aplicaiile Java sunt preluate de pe "nternet sub forma de applet$uri chiar (n momentul e ecuiei lor, deci din reea,aceste programe pot fi actualizate s fac fa noilor cerine, utilizatorul dispun!nd (n oricemoment de cea mai nou variant.

    3

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    3/92

    In e en ent e !"t2or+$nul din marile avantaje ale limbajului Java este independena de platform. 0e

    impunea aceast independen de platform, in!nd cont de ideea de lucru (n medii distribuite.2e fapt un program Java lucreaz pe o singur main& maina virtual Java )"v" Virtu"!M"c3ine% )VM /.

    #a urmare a utilizrii emulatorului un program Java poate rula pe orice platform

    pentru care e ist un emulator Java. Partea negativ este ca folosirea emulatorului duce lamarirea timpului de e ecuie. 0oluia este compilarea -u*t%in%ti+e 4)IT5 care transform(ntregul program Java (n program main (nainte de e ecuia lui.

    #ompilatoarele just$in$time lucreaz ca i interpretoarele doar c conversia nu se facela nivel de instruciune ci la nivel de program, cresc!nd considerabil viteza de e ecuie a programului Java.

    Su ort entru +u!tit3re" in/4ultithreading$ul este cel care permite ca un program s e ecute mai multe sacini

    aparent (n acelai timp, utiliz!nd mai multe fire de e ecuie t3re" %uri/.Java ofer suport multithreading la nivel de limbaj deci la cel mai jos nivel clasa

    T3re" / oferindu$i utilizatorului posibilitatea de a crea un nou fir de e ecuie ca i cum arcreea oricare alt obiect. 4ai mult, Java permite comunicarea (ntre firele de e ecuie precum isincronizara lor.

    Intercone6iune" cu ,ro0*ere 777Acesta este unul din avantajele care a facut limbajul Java aa de popular. 4ulte din

    firmele care dezvolt bro%sere 555 au implementat maina virtual Java (n interiorulacestor bro%sere.

    Amintim cele mai utilizate bro%sere care suport Java&Net*c" e N"vi/"tor al firmeiNet*c" e i Internet E6 !orer al firmeiMicro*o2t.

    Av!nd (n vedere aceste caracteristici, Java s$a conturat ca un limbaj performant, care s$aimpus (n lumea informaticii.

    P"c3etu! )D8

    'a baza dezvoltrii unui program Java st mediul de dezvoltare pus ladispoziie de firma 0un. Acesta este)"v" Deve!o er* 8it 4)D85 i trebuieconsiderat ca mediu de referin (n programarea Java.Me iu! )D8 con9ine e

    e o "rte o *erie e ,i,!ioteci e c!"*e )"v" nece*"re *crierii unui ro/r"+

    :i e e o "rte un *et e uti!it"re nece*"re co+ i!$rii; te*t$rii; e6ecu9iei :iocu+ent$rii unei " !ic"9ii )"v". O c!"*$; un 2i:ier ,"/e.

    )D8%u! con9ine c?tev" "c>"/e%uri 2un "+ent"!e; "c>"/e%uri c"recon9in c!"*e 2$r$ e c"re nu *e ot e=vo!t" " !ic"9ii )"v". P"c>"/e%uri!e)"v" inc!u*e #n )D8 2or+e"=$ rinci "!u! API% A !ic"tion Pro/r"++in/Inter2"ce.

    Orice "!t +e iu c"re o"te e6ecut" " !ic"9ii )"v" i2erit e +e iu!)D8 tre,uie *$ inc!u $ "ce*t API. Pe !?n/$ "ce*te "c3ete 2un "+ent"!e;uti!i="toru! o"te 2o!o*i :i "!te!e e=vo!t"te c3i"r e e!. Tre,uie #n*$ *$ *e

    6

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    4/92

    "*i/ure c$ "ce*te "c3ete " i9ion"!e *unt i* oni,i!e :i e !"t2or+" e c"re" !ic"9i" *e e6ecut$; nu nu+"i un e "ce"*t" " 2o*t cre"t$.

    #uv!ntul cheiei+ ort este folosit pentru a face cunoscut utilizarea uneiclase dintru$un pac7age sau a unui (ntreg"c>"/e.

    E6e+ !u@

    import java.s8l.9:import java.a%t.;raphics:import java.applet.Applet:

    n "c>"/e este o colecie de clase i interfee Java (ntre care e ist o

    relaie de asociere. Prin utilizarea conceptului de pac7age, Java ofer unmecanism de mamagement al identifiactorilor numelor/ care se pot atribuiclaselor4 n"+e * "ce* 5.Printr$un pac7age Java se pot rezolva eventualeleconflicte ce pot aprea datorit e istenei a dou clase cu acelai nume. Astfeldac avem clasaRect"n/!e din pac7age$ul -"v"."0t , putem avea aceeai clasRect"n/!e din pachetul+"/e%uri in )"v" API

    "c>"/e -"v"." !etPachetul conine clasele necesare dezvoltrii unui applet program Java cese e ecut (n cadrul unui bro%ser 555/

    "c>"/e -"v"."0t.; -"v"."0t.event;"c>"/e -"v"6.*0in/B

    Pachete ce se folosesc (n dezvoltarea interfeelor grafice de comunicare cuutilizatorul i dezvoltarea aplicaiilor ce implic grafic

    "c>"/e -"v".,e"n*#onine clase necesare implementrii tehnologiei Java "/e -"v".+"t3

    =ste utilizat pentru lucrul cu funcii matematice"c>"/e -"v".net

    Pachetul conine clasele necesare programrii (n reea"c>"/e -"v".r+i

    >

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    5/92

    Pachet utilizat pentru creearea unor aplicaii Java ce lucreaz (n sistemedistribuite RMI Re+ote Met3o Invoc"tion/. ureaz apelul unormetode din obiecte disponibile pe diferite computere ce sunt conectate (nreea.

    "c>"/e -"v".*ecuritout manager . nune!e c"=uri e*te 2o!o*it$ inter2"9" java&awt&0a>out;anager c"re e6tin einter2"9" ori/in"!$ 0a>out;anager .Pentru "cce*"re" :i con2i/ur"re" ro riu!uila>out manager un cont"iner"re !" i* o=i9ie metodele 4et$a%out i set$a%out &

    u,!ic 'aQout4anager 4et$a%out /:u,!ic voi set$a%out($a%out*ana4er +ana4er) :

    3H

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    28/92

    "at (n continuare c!teva e emple privind modul cum sunt afiate componentelefolosind diverse tipuri $a%out*ana4er &E6e+ !uimport java .s%ing.9:

    import java.a%t.9:import java.a%t.event.9:

    public class Afisare rame lo%'aQout M public static void main 0tringNO args/ M J rame f ne% J rame K2ispunere cu lo%'aQoutK/: J

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    29/92

    import java .s%ing.9:import java.a%t.9:

    public class 2isplaQ rame

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    30/92

    f.setCisible true/: RR

    Gezultat&

    E6e+ !u4odificrile asupra grupului de componente dintr$un container dup afiareaacestuia, va conduce la invalidarea containarului. Aceast fapt poate fi verificat

    prin metodaisCalid() care va returna o valoare boolean. Gevalidarea unuicontainer echivaleaz cu reafiarea lui i se realizeaz prin metodavalidate() .

    u,!ic ,oo!e"n isCalid /:u,!ic voi validate /:

    E6e+ !uimport java.a%t.9:import java .s%ing.9:

    public class 2isplaQ rame;rid'aQout M public static void main 0tringNO args/ M J rame f ne% J rame K2ispunere cu ;rid'aQoutK/: #ontainer cp f.get#ontentPane /: cp.set'aQout ne% ;rid'aQout 6, 3//: cp.add ne% J

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    31/92

    RR

    #u rezultatul&

    2venimente Ki Lascult toriM 2up cum am menionat (ntr$unul din paragrafele anterioare, interaciunileinterfeelor utilizator grafice se bazeaz pe paradigma evenimentelor. Anumite

    evenimente sunt de nivel sczut cum ar fi apsarea i eliberarea unei taste,mutarea cursorului mouse$lui sau apsarea unui buton al acestuia, iar altele suntde nivel (nalt cum ar fi selectarea unei opiuni dintr$un meniu, apsarea unuiSbutonT componenta grafic/ sau introducere de te t (ntr$un c!mp.=venimentele de nivel (nalt implic de fapt mai multe de nivel mai sczut. 2ee emplu introducerea de te t (ntr$un c!mp implic mutarea cursorului mouse$ului, apsarea butonului mouse$ului i apsarea i eliberarea mai multor taste.

    "at c!teva dintre categoriile de evenimente (nt!lnite&

    C"te/ori" eeveni+ente De*criere ?e% event Apsarea i eliberarea tastelor *ouse event Apsarea i eliberarea butoanelor mouse$ului

    2rag ] dropCo+ponentevent

    Ascunderea, afiarea, redimensionarea sau mutarea uneicomponente

    Container event Adugarea sau (ndeprtarea unei componente dintr$uncontainer

    >indow event 2eschiderea, (nchiderea, minimizarea iconificarea/,reconstituirea deiconificarea/, activarea, dezactivarea uneiferestre

    8ocus event Preluarea sau pierderea focus$ului de ctre o component 0ction event =veniment de nivel (nalt indic!nd o aciune definit la nivelul

    componentei de e emplu un buton poate fi apsat, unchec7bo poate fi selectat, apsarea tastei = )=G+G=) G pentru un c!mp de te t/

    @te+ event =veniment de nivel (nalt care are loc atunci c!nd un utilizatorselecteaz un chec7bo , buton radio sau opiune dintr$o list

    9ocu+ent event ;enerat de ctre un obiect5extCo+ponent atunci c!nd (i estemodificat coninutul

    61

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    32/92

    n aspect important de reinut este faptul instanele de tipCo+ponent reprezintsurse de evenimente, mai e act evenimentele au loc (n conte tul componentelor.4ajoritatea evenimentelor sunt modelate av!nd la baz clasa abstract

    java&awt&2vent , care ea (nsi este o subclas a java&util&2vent6bject . Geferinaobiectului surs al unui eveniment poate fi obinut prin folosirea metodei

    getSource() a obiectelor de tip .vent .u,!ic object get0ource / :

    Con*truire" inter2e9e!or /r"2ice 1 +o u! e uti!i="re "! rinci "!e!orco+ onente

    Ro!u! !"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    33/92

    obiecte grafice peste (ntregul coninut fr s afecteze vreocomponent e istent.

    Geferinele acestor obiecte pot fi obinute astfel& )RootP"ne r /etRootP"ne45B )L"indow reprezint un container gol E o fereastr lipsit implicit de

    coninut grafic, neav!nd nici mcar chenar. ? fereastr nu este folositdirect , ci prin intermediul subclaselor specializate J8ra+e i J9ialo4 .

    Principalele metode folosite (n manipularea obiectelor J'abel& ;etoda /cHiuneStrin/ /etTe6t45 ?bine 0tringul afiat de ctre obiectul J'abel

    voi *etTe6t4Strin/ te6t5 0tabilete printr$un 0tring te tul ce va fi afiatint /etHori=ont"!A!i/n+ent45?bine un (ntreg care indic modul de aliniere aconinutului etichetei relativ la a a

    int /etVertic"!A!i/n+ent45 ?bine un (ntreg care indic modul de aliniere aconinutului etichetei relativ la a a Q

    Icon /etIcon45 ?bine obiectul "con afiat de ctre obiectulJ'abel

    voi *etIcon4Icon icon5 0tabilete obiectul "con afiat de componentaJ'abel

    Co+ onent /etL",e!For45 ?bine componenta care este etichetat folosindobiectul J'abelvoi 0tabilete componenta care va fi etichetat cu

    66

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    34/92

    *etL",e!For4Co+ onent c5 obiectul J'abelvoi*etHori=ont"!A!i/n+ent4int"!i/n"+ent5

    0tabilete prin (ntregul specificat modul dealiniere relativ la a a

    voi*etVertic"!A!i/n+ent4int"!i/n"+ent5

    0tabilete prin (ntregul specificat modul de

    aliniere relativ la a a Q

    Pentru a obine un obiect J'abel care afieaz un te t simplu putem construi oastfel de etichet ca (n e emplul urmtor&

    import java.a%t.9:import java .s%ing.9:

    public class = empluJ'abel e tends J rameM

    public = empluJ'abel /M #ontainer cp get#ontentPane /: J'abel jlabel ne% J'abel K0tudent la niversitatea )itu 4aiorescuK/: cp.set'aQout ne% lo%'aQout //: cp.add jlabel/: set2efault#lose?peration J rame.=W")U? U#'?0=/: set0ize 6LL, 1LL/: R public static void main 0tringNO args/ thro%s = ceptionM

    "4anager.set'oo7And eel Kcom.sun.java.s%ing.plaf.%indo%s.5indo%s'oo7And eelK/: ne% = empluJ'abel /.sho% /: RR

    "at rezultatul&

    -Nmpuri pentru text J5ext ield

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    35/92

    [ UUU java .s%ing.J)e t ield

    #onstructorii principali ai componentei J5ext8ield sunt&

    -onstructor /cHiune

    )Te6tFie! 45 #reeaz un nou c!mp gol)Te6tFie! 4int co!u+n*5 #reeaz un nou obiect J)e t ield fr coninutde lungimea indicat (n coloane/

    )Te6tFie! 4Strin/ te6t5 #reeaz un nou obiect J)e t ield conin!ndte tul specificat

    )Te6tFie! 4Strin/ te6t; intco!u+n*5

    #reeaz un nou obiect J)e t ield conin!ndte tul specificat i av!nd afi!nd/ lungimeaindicat (n coloane/

    Principalele metode ale componentei J)e t ield sunt urmtoarele& ;etoda /cHiuneStrin/ /etTe6t45 ?bine 0tring$ul coninut (n c!mpvoi *etTe6t4Strin/ te6t5 0tabilete printr$un 0tring te tul ce va fi coninut

    de ctre obiectul J)e t ieldint /etHori=ont"!A!i/n+ent45?bine un (ntreg care indic modul de aliniere

    relativ la a a voi*etHori=ont"!A!i/n+ent4int

    "!i/n"+ent5

    0tabilete prin (ntregul specificat modul dealiniere relativ la a a

    Di+en*ion/etPre2erre Si=e45

    ?bine dimensiunile lime, lungime printr$unobiect de tip 2imension/ prefereniale

    int /etCo!u+n*45 ?bine numrul de coloane pe care este afiatte tul

    voi *etCo!u+n*4intco!u+n*5

    0tabilete numrul de coloane pe care este afiatte tul

    Pentru a obine un obiect J5ext8ield putem proceda ca (n e emplul urmtor&import java.a%t.9:import java .s%ing.9:

    public class test e tends J rameM public test /M #ontainer cp get#ontentPane /: J'abel jlabel ne% J'abel K0tudent la niversitatea )itu 4aiorescuK/: cp.set'aQout ne% lo%'aQout //: cp.add jlabel/: J)e t ield informatie ne% J)e t ield /: ++cp.set'aQout ne% lo%'aQout //: cp.add informatie/: informatie.set)e t K"nformatie cu J)e t ieldK/:

    6D

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    36/92

    set2efault#lose?peration J rame.=W")U? U#'?0=/: set0ize 6LL, 1LL/: R public static void main 0tringNO args/ thro%s = ceptionM

    "4anager.set'oo7And eel Kcom.sun.java.s%ing.plaf.%indo%s.5indo%s'oo7 And eelK/: ne% test /.sho% /: RR

    Gezultatul este&

    ?biectele Jtext8ield genereaz evenimente legate de apsarea tastatelor i un 0ction.vent atunci c!nd utilizatorul apas tasta .nter ;eturn pentru a (ncheiaintroducerea te tului i eventual pentru a$l valida. #odul pentru implementareamodelului de evenimente legate de aceast component ar putea fi&

    te t.addAction'istener ne% Action'istener / M public voidaction.erformed Action=vent e/M

    ++ secvena de cod ce trebuie e ecutat la apariia ecenimentului sau++ apel la o eventual metod din cadrul printe (n care s fie tratat

    e plicit acest eveniment 0Qstem.out.println K"nformatia definita este& K *

    e.getAction#ommand //: R R/:

    care poate fi adugat (n metodainit() a clasei .xe+plu5ext8ield eventual la

    sf!rit, sau oricum dup instanierea clsei J5ext8ield /. 3utoane O /bstract3utton Ki J3utton

    -n 0%ing, toate butoanele sunt derivate din clasa 0bstractButton care furnizeaz baza pe care sunt construite toate clasele pentru butoane din Java . "at ierarhiade motenire pentru aceast clas& java.lang.?bject[ UUU java.a%t.#omponent[ UUU java.a%t.#ontainer

    [ UUU java .s%ing.J#omponent[ UUU java .s%ing.Abstract

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    37/92

    Putem obine un J

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    38/92

    Gezultatul este&

    3utoane c+ecEbox D J-+ecE3ox 2up cum se tie, un chec7bo reprezint un control grafic care ofer posibilitatea selectrii unei valori booleene, (nsoit fiind de un te t e plicativ. o64Strin/ te6t; Iconicon5

    -n ce privete metodele, manipularea acestor obiecte se face (n principal prin set elected() is elected() set5ext() 4et5ext() etc. motenite din superclase, (nspecial de la clasa JabstractButton .

    6I

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    39/92

    9rupuri de butoane D J3utton9roup

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    40/92

    3utoane radio O JBadio3utton

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    41/92

    Icon icon5

    Pentru a demonstra modul (n care pot fi create i folosite aceste butoane amconstruit e emplul urmtor&import java .s%ing.9:

    import java.a%t.9:import java.a%t.event.9:

    public class e emplu1 e tends J rameM J'abel jlabel: 1

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    42/92

    if butoaneGadioN3O.is0elected // jlabel.set"con ne% "mage"con K#&ZZfloriZZp6.jpgK//: R public static void main 0tringNO args/ thro%s = ceptionM

    "4anager.set'oo7And eel Kcom.sun.java.s%ing.plaf.%indo%s.5indo%s'oo7 And eelK/: ne% e emplu1 /.sho% /: RR

    Gezultatul este&

    -onstruirea unei fereastra principale a aplicaHiilor tip desEtop cu meniuriS0in/2e regul, ferestrele principale ale aplicaiilordesktop reprezint calea esenial pentru accesul la funciile principale ale aplicaiei. 2e regul acest lucru realizat printr$un meniu (nsoit, eventual, i de o bar de instrumente.

    -rearea meniurilor 4odelul orientat obiect al meniurilor (n 0%ing are urmtoarele caracteristici&

    - bar principal reprezint o instan a clasei J*enuBar , sau, pentrumeniurile conte tuale, J#op p*enu :

    - meniurile accesebile din bara principal sunt obinute din clasa J*enu :- elementele individuale ale unui menu instan J*enu / sunt construite

    pe baza clasei J*enu@te+ care are urmtoarele subclase& JCheckBox*enu@te+ J;adioButton*enu@te+ i J*enu . Prin urmare unelement individual dintr$un meniu poate fi, la r!ndul su, un al submenu

    instan J*enu /:>3

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    43/92

    #a urmare definiia celui mai simplu meniu ar putea fi urmtoarea&import java.a%t.9:import java .s%ing.9:import java.a%t.event.9:

    public class 4ain4enu

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    44/92

    add file4enu/: add edit4enu/: add 8uit4enu/: RR

    Pentru a dispune un meniu (ntr$un formular, avem nevoie de o instan J8ra+e pentru bara de meniu, stabilit prin metoda setJ*enuBar() . 2e e emplu clasa principala este&

    I+ ort -"v"."0t. Bi+ ort -"v"6.*0in/. Bi+ ort -"v"."0t.event. B

    u,!ic c!"** For+M"in e6ten * )Fr"+e u,!ic For+M"in45 t3i*.*et)Menu "r4ne0 M"inMenu "r455B t3i*.*etDe2"u!tC!o*eO er"tion4)Fr"+e.E ITKONKCLOSE5B t3i*.*etSi=e4 ''; ''5B t3i*.*etVi*i,!e4true5B

    u,!ic *t"tic voi +"in4Strin/ "r/*5 ne0 For+M"in45B

    va avea la runtime urmtorul rezultat&

    >>

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    45/92

    tilizare =)D

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    46/92

    >F

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    47/92

    +9 9 4ain.java

    9 9 #reated on ?ctober 1L, 3LLH, F&1I P4 9 9 )o change this template, choose )ools [ )emplate 4anager 9 and open the template in the editor. 9+

    pac7age teste:

    +99 9 9 _author aplicatii netbeans 9+ public class 4ain M

    +99 #reates a ne% instance of 4ain 9+ public 4ain / M R

    +99 9 _param args the command line arguments 9+ public static void main 0tringNO args/ M ++ )?2? code application logic hereSH

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    48/92

    Co+ i!"re co *ur*"

    ui! ui! M"in Pro-ect

    >I

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    49/92

    Ru!"re ro/r"+Run Run M"in Pro-ect.

    >

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    50/92

    CREARE UNEI LI RARII

    DL

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    51/92

    D1

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    52/92

    'ucru ca baze de date in etin/ 0it3 t3e )"v" D 4Der,

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    53/92

    1. et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    54/92

    )he docs subdirectorQ contains the Java 2< documentation.

    )he lib subdirectorQ contains the Java 2< jar files.

    )he frame%or7s subdirectorQ contains older stQle scripts for e ecuting utilities andsetting up the environment. )hese are generallQ provided for bac7%ard compatibilitQ. "nlater releases, theQ maQ be deprecated in favor of the scripts in the bin directorQ.

    Re/i*terin/ t3e D"t","*e in Net e"n* IDE

    o% that the database is configured, Qou can register it in the "2=&

    1. "n et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    55/92

    St"rtin/ t3e Server "n Cre"tin/ " D"t","*e

    ?nce Qour database is registered %ith the "2=, the Java 2< 2atabase menu item appearsunder )ools in the main menu. )his menu item allo%s Qou to start and stop the databaseserver, as %ell as create a ne% database. )o start the database server&

    1. #hoose )ools Java 2< 2atabase 0tart Java 2< 0erver. ou %ill see the follo%ingin the ?utput %indo%, indicating the server has been started&

    3. #hoose )ools Java 2< 2atabase #reate Java 2< 2atabase. )he #reate Java 2. #lic7 the Gun 0 ' / button in the tas7 bar at the top of the editor or press

    #trl*0hift*=/ to e ecute the 8uerQ. ou should receive a message in the ?utput%indo% indicating that the 8uerQ %as successfullQ e ecuted.

    D. )o verifQ that the ne% record has been added to the #? )A#)0 table, in the Guntime%indo% right$clic7 the #? )A#)0 table node and choose Cie% 2ata. )he 0^'=ditor opens again in the main %indo%. 5hen Qou choose Cie% 2ata, a 8uerQ toselect all the data from the table is automaticallQ generated in the upper pane of the0^' =ditor. )he results of the statement are displaQed in the lo%er pane of the 0^'=ditor. "n this case, the #? )A#)0 table displaQs in the lo%er pane. ote that a ne%ro% has been added %ith the data Qou just supplied from the 0^' 8uerQ&

    U*in/ "n SWL Scri t

    "ssuing commands from an e ternal 0^' script is a popular %aQ to manage Qour database.ou maQ have alreadQ created an 0^' script else%here, and %ant to import it into et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    62/92

    6. #lic7 the Gun 0^' / button in the 0^' =ditor`s tas7 bar. )he script is e ecuted

    against the selected database, and anQ feedbac7 is generated in the ?utput %indo%.>. )o verifQ changes, right$clic7 thecontactUdatabase connection node in the Guntime

    %indo% and choose Gefresh. )his updates the Guntime " component to the currentstatus of the specified database. ote that the ne%riends table from the 0^' scriptno% displaQs as a table node undercontactUdatabase in the Guntime %indo%.

    D. )o vie% the data contained in the ne% tables, choose Cie% 2ata from the right$clic7menu of a table asdescribed above. "n this manner, Qou can compare the tabular data%ith the data contained in the 0^' script to see that theQ match.

    Recre"tin/ T",!e* 2ro+ " Di22erent D"t","*e

    "f Qou have a table from another database %hich Qou %ould li7e to recreate in the databaseQou are %or7ing in from et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    63/92

    6. "n the ;rab )able dialog that opens, specifQ a location on Qour computer to save thegrab file that %ill be created. #lic7 0ave. )he grab file records the table definition ofthe selected table.

    Recre"tin/ t3e T",!e@

    1. "n the Guntime %indo%, right$clic7 the )ables node fromcontactUdatabase and chooseGecreate )able.

    F6

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    64/92

    3. "n the Gecreate )able dialog that opens, navigate to the location %here Qou saved the# 0)?4=G grab file above, then clic7 ?pen. )he ame the )able dialog opens&

    6. At this point Qou can change the table name or edit the table definition. "t is notnecessarQ to ma7e anQ changes, so clic7 ?@ to create the table and Qou %ill see thene%# 0)?4=G table node displaQed belo% )ables under thecontactUdatabase connection node in the Guntime %indo%&

    F>

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    65/92

    end s our 8eedback

    Ne6t Ste *

    )his concludes the 5or7ing %ith the Java 2< 2erbQ/ 2atabase in et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    66/92

    #onnecting to a 4Q0^' 2atabase in et

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    67/92

    $ realizarea unei cone iuni propriu$zise

    ? cone6iune sesiune/ la o baz de date reprezint un conte t prin care sunt trimisesecvene 0^' i primite rezultate. "ntr$o aplicaie pot e ista mai multe cone iuni simultan la baze de date diferite sau la aceeasi baza.

    #lasele si interfetele responsabile cu realizarea unei cone iuni sunt&$ clasaDriverManager , ce se ocup cu (nregistrarea driverelor ce vor fi folosite (n aplicatie$ interfataDriver , pe care trebuie s o implementeze orice clasa ce descrie un driverclasaDriverPropertyInfo $ interfataConnection , descrie obiectele ce modeleaz o cone iune propriu$zis cu baza dedate

    Inc"rc"re" #n +e+orie " unui river

    Primul lucru pe care trebuie s$l fac o aplicaie (n procesul de conectare la o baza dedate este s (ncarce (n memorie clasa ce implementeaza driver$ul necesar comunicrii curespectiva baza de date. Acest lucru poate fi realizat prin mai multe modalitati&

    1. 2river4anager.register2river ne% sun.jdbc.odbc.Jdbc?dbc2river //:3. #lass.for ame Ksun.jdbc.odbc.Jdbc?dbc2riverK/:6. 0Qstem.setPropertQ Kjdbc.driversK, Ksun.jdbc.odbc.Jdbc?dbc2riverK/:>. java $2jdbc.drivers sun.jdbc.odbc.Jdbc?dbc2river

    S eci2ic"re" unei ,"=e e "te

    ?dat ce un driver J2

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    68/92

    $ aflarea unor informaii legate de baza de date meta$date/

    #lasa Connection asigur suport pentru controlul tranzaciilor din memorie ctre baza dedate prin metodelecommit, rollbac , set!utoCommit .

    E2ectu"re" e *ecvente SWL?dat facut conectarea cu!ri"er#ana$er.$et onection%& , se poate folosi obiectul

    Connection rezultat pentru a se crea un obiect de tipSt"te+ent*, cu ajutorul cruia putemtrimite secvente 0^' ctre baza de date. #ele mai uzuale comenzi 0^' sunt cele folosite pentru&$ interogarea bazei de date S'(' ) /$ actualizarea bazei de date INS'*), + !-)', !'(')' /

    #onnection c 2river4anager.get#onnection url/:0tatement s c.create0tatement /:Gesult0et r s.e ecute^uerQ K0='=#) 9 G?4 unUtabel ?G2=G < oUcoloanaK/:s.e ecute pdate K2='=)= 9 G?4 unUtabelK/:

    4etoda e"ecute#uery trimite interogari 0^' ctre baza de date i primete rspuns(ntr$un obiect de tip$esult%et .

    O,9inere" :i re!ucr"re" re=u!t"te!or

    "nterfaaRe*u!tSet

    0tring 8uerQ K0='=#) cod, nume G?4 localitati ?G2=G < numeK:Gesult0et r s.e ecute^uerQ 8uerQ /:%hile r.ne t // M

    0Qstem.out.println r.get0tring KcodK/ * K,K * r.get0tring KnumeK/ /: R

    "nterfaaRe*u!tSetMet"D"t"

    Gesult0et r s.e ecute^uerQ K 0='=#) 9 G?4 localitatiK /:Gesult0et4eta2ata rsmd r.get4eta2ata /:0Qstem.out.println K#oloane& K * rsmd.get#olumn#ount //:

    Dec!"r"9ii

    2eclaraiilor sunt susinute de interafaa 0tatement i subclasele salePre "re St"te+ent i C"!!",!eSt"te+ent.

    Inter2"9" St"te+ent2efinete metode pentru e ecutarea declaraiilor 0^' care nu conin parametrii de

    marcaj mar7ers/Gealizarea unei cone iuni se face astfel&

    #onnection con 2river4anager.get#onnection url, user, pass%ord/:

    FI

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    69/92

    2ac se utilizeaz driverul J2

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    70/92

    R

    E6e+ !u entru conect"re" !" o ,"=" e "te *i e !ucru cu "ce"*t"

    i+ ort -"v".* !. Bu,!ic c!"** cre"ret",e!"

    u,!ic *t"tic voi +"in4Strin/ "r/* 5 Connection conB T3e connection to t3e "t","*e. tr< C!"**.2orN"+e4J*un.- ,c.o ,c.) ,cO ,cDriverJ5B con DriverM"n"/er./etConnection4J- ,c@o ,c@" !ic"tiiJ5B St"te+ent *t+t con.cre"teSt"te+ent45B *t+t.e6ecuteU "te4JCREATE TA LE STUDENT J X

    J4MATR INTEGER;NUME VARCHAR4 &5;PRENUME VARCHAR4 &5; J X JAN INTEGER;GR INTEGER; NY FLOAT; N& FLOAT; N FLOAT; MEDIAFLOAT ;J X

    JTELEFON VARCHAR4 '55J5B*t+t.e6ecuteU "te4JCREATE TA LE ro u*YYYJ XJ4co K INTEGER not nu!! ri+"r< >e

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    71/92

    ca+p=new 5ext8ield(1') add(ca+p) ca+p!add5ext$istener(this) / public void text

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    72/92

    import java.a%t.9:import java.a%t.event.9:

    public class listasimpla e tends Applet implements "tem'istenerM private #hoice lista:

    public void init / Mlista ne% #hoice /: lista.add KredK/: lista.add KgreenK/: lista.add KblueK/: add lista/: lista.add"tem'istener this/: R public void item0tate#hanged "tem=vent e/ Mif e.get0ource / lista/ M0tring selectat e.get"tem /.to0tring /: sho%0tatus K0tareaK*K K*selectat/: R R

    R

    Z. A "u/" !" " !et o "n=" entru e*enimport java.applet.Applet:import java.a%t.9:import java.a%t.event.9:import java.a%t.;raphics: public class panza e tends AppletM private #anvasnou canvas ne% #anvasnou /: public void init / Mcanvas.set

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    73/92

    import java.applet.Applet:import java.a%t.event.Action'istener:import java.a%t.event.9:import java.a%t.9:

    public class te t e tends Applet

    implements Action'istenerM private )e tArea mesaj: private

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    74/92

    int to < ,otto+< X in"!ti+eB /. r"0Line4,otto+6; ,otto+"/e +

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    75/92

    -L",e!Y ne0 -"v"6.*0in/.)L",e!45B -Te6tFie! Y ne0 -"v"6.*0in/.)Te6tFie! 45B -L",e!& ne0 -"v"6.*0in/.)L",e!45B -Te6tFie! & ne0 -"v"6.*0in/.)Te6tFie! 45B - uttonY ne0 -"v"6.*0in/.) utton45B

    - utton& ne0 -"v"6.*0in/.) utton45B - utton ne0 -"v"6.*0in/.) utton45B

    *etDe2"u!tC!o*eO er"tion4-"v"6.*0in/.7in o0Con*t"nt*.E ITKONKCLOSE5B -L",e!Y.*etTe6t4J ]iu" *" t"+"nii 4ci2re5J5B

    -Te6tFie! Y.*etTe6t4J-Te6tFie! YJ5B

    -L",e!&.*etTe6t4J]iu" *" t"+"nii 4!itere5 J5B

    -Te6tFie! &.*etTe6t4J-Te6tFie! &J5B

    - uttonY.*etTe6t4JTr"n*2or+"reJ5B - uttonY." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - uttonYActionPer2or+e 4evt5B 5B

    - utton&.*etTe6t4JC!e"rJ5B - utton&." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton&ActionPer2or+e 4evt5B 5B

    - utton .*etTe6t4JE6itJ5B - utton ." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton ActionPer2or+e 4evt5B 5B

    -"v"6.*0in/.Grou L"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    76/92

    !"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    77/92

    ." Grou 4!"B c"*e \@ -Te6tFie! &.*etTe6t4JDu+inic"J5B ,re">B e2"u!t@ -Te6tFie! &.*etTe6t4JNu "ti "t o =i " *" t"+"nii v"!i "Q 4Y%\5J5B ,re">B

    HH

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    78/92

    riv"te voi - utton&ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 -Te6tFie! Y.*etTe6t4JJ5B

    -Te6tFie! &.*etTe6t4JJ5B

    riv"te voi - utton ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 S

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    79/92

    C"!cu!"tor.-"v"

    u,!ic c!"** C"!cu!"tor e6ten * -"v"6.*0in/.)Fr"+e

    Cre"te* ne0 2or+ C"!cu!"tor u,!ic C"!cu!"tor45 initCo+ onent*45B

    riv"te voi initCo+ onent*45 - uttonY ne0 -"v"6.*0in/.) utton45B - utton& ne0 -"v"6.*0in/.) utton45B - utton ne0 -"v"6.*0in/.) utton45B - uttonZ ne0 -"v"6.*0in/.) utton45B - utton ne0 -"v"6.*0in/.) utton45B - utton[ ne0 -"v"6.*0in/.) utton45B - utton\ ne0 -"v"6.*0in/.) utton45B -P"ne!Y ne0 -"v"6.*0in/.)P"ne!45B

    -L",e!Y ne0 -"v"6.*0in/.)L",e!45B -L",e!& ne0 -"v"6.*0in/.)L",e!45B -L",e! ne0 -"v"6.*0in/.)L",e!45B -Te6tFie! Y ne0 -"v"6.*0in/.)Te6tFie! 45B -Te6tFie! ne0 -"v"6.*0in/.)Te6tFie! 45B -Te6tFie! & ne0 -"v"6.*0in/.)Te6tFie! 45B

    *etDe2"u!tC!o*eO er"tion4-"v"6.*0in/.7in o0Con*t"nt*.E ITKONKCLO

    SE5B - uttonY.*etTe6t4JXJ5B - uttonY." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45

    H

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    80/92

    u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - uttonYActionPer2or+e 4evt5B 5B

    - utton&.*etTe6t4J%J5B - utton&." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton&ActionPer2or+e 4evt5B 5B

    - utton .*etTe6t4J J5B - utton ." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45

    u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton ActionPer2or+e 4evt5B 5B

    - uttonZ.*etTe6t4J J5B - uttonZ." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - uttonZActionPer2or+e 4evt5B 5B

    - utton .*etTe6t4JaJ5B - utton ." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton ActionPer2or+e 4evt5B 5B

    - utton[.*etTe6t4JC!e"rJ5B - utton[." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton[ActionPer2or+e 4evt5B 5B

    - utton\.*etTe6t4JE6itJ5B - utton\." ActionLi*tener4ne0 -"v"."0t.event.ActionLi*tener45 u,!ic voi "ctionPer2or+e 4-"v"."0t.event.ActionEvent evt5 - utton\ActionPer2or+e 4evt5B

    IL

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    81/92

    5B

    -P"ne!Y.*et or er4-"v"6.*0in/. or erF"ctor

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    82/92

    ." Co+ onent4-Te6tFie! &; -"v"6.*0in/.Grou L"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    83/92

    !"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    84/92

    ." Cont"inerG" 4-"v"6.*0in/.Grou L"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    85/92

    riv"te voi - uttonZActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 2!o"t nrY;nr&;re=u!t"tB nrY F!o"t. "r*eF!o"t4-Te6tFie! Y./etTe6t455B nr& F!o"t. "r*eF!o"t4-Te6tFie! &./etTe6t455B re=u!t"t nrY nr&B -Te6tFie! .*etTe6t4Strin/.v"!ueO24re=u!t"t55B

    riv"te voi - utton ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5

    2!o"t nrY;nr&;re=u!t"tB nrY F!o"t. "r*eF!o"t4-Te6tFie! Y./etTe6t455B nr& F!o"t. "r*eF!o"t4-Te6tFie! &./etTe6t455B re=u!t"t nrY nr&B -Te6tFie! .*etTe6t4Strin/.v"!ueO24re=u!t"t55B

    riv"te voi - utton&ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 2!o"t nrY;nr&;re=u!t"tB

    nrY F!o"t. "r*eF!o"t4-Te6tFie! Y./etTe6t455B nr& F!o"t. "r*eF!o"t4-Te6tFie! &./etTe6t455B re=u!t"t nrY%nr&B -Te6tFie! .*etTe6t4Strin/.v"!ueO24re=u!t"t55B

    riv"te voi - uttonYActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 2!o"t nrY;nr&;re=u!t"tB

    nrY F!o"t. "r*eF!o"t4-Te6tFie! Y./etTe6t455B nr& F!o"t. "r*eF!o"t4-Te6tFie! &./etTe6t455B re=u!t"t nrYXnr&B -Te6tFie! .*etTe6t4Strin/.v"!ueO24re=u!t"t55B

    riv"te voi - utton[ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 -Te6tFie! Y.*etTe6t4JJ5B

    -Te6tFie! &.*etTe6t4JJ5B -Te6tFie! .*etTe6t4JJ5B

    ID

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    86/92

    riv"te voi - utton\ActionPer2or+e 4-"v"."0t.event.ActionEvent evt5 S

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    87/92

    ConvertorUI.-"v"

    "c>"/e +

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    88/92

    -"v"6.*0in/.Grou L"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    89/92

    ." Grou 4!"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    90/92

    1L.Scrieti *etu! e co+en=i entru re"!i="re" unei 2ere*tre e i+en*iune ''; Y'' c"rev" "r"t" c" in 2i/ur" "!"tur"t".

    i+ ort -"v"6.*0in/. Bi+ ort -"v"."0t. B

    u,!ic c!"** "Y u,!ic *t"tic voi +"in4Strin/ "r/*5 )Fr"+e 2 ne0 )Fr"+e4JI+ !e+ent"re" Inte2erete!or Gr"2iceJ5B ) utton ,Y ne0 ) utton4JYJ5B ) utton ,& ne0 ) utton4J&J5B ) utton , ne0 ) utton4J J5B

    ) utton ,Z ne0 ) utton4JZJ5B ) utton , ne0 ) utton4J J5B Cont"iner c 2./etContentP"ne45B c .*etL"

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    91/92

    )R" io utton ,utonA!, ne0 )R" io utton4JS"+,"t" Y'%Y(J5B ,utonA!,.*etSe!ecte 4true5B )R" io utton ,utonRo*u ne0 )R" io utton4JDu+inic" Y'%Y(J5B

    Gru "re" ,uto"ne!or uttonGrou /rou ne0 uttonGrou 45B

    /rou ." 4,utonA!,5B /rou ." 4,utonRo*u5B

    A "u/"re" ,uto"ne!or " 4,utonA!,5B " 4,utonRo*u5B

    u,!ic c!"** De*enKA !ic"tie e6ten * )Fr"+e u,!ic *t"tic voi +"in4Strin/ "r/* 5 De*enKA !ic"tie " ne0 De*enKA !ic"tie45B uto"ne "nou uto"ne ne0 uto"ne45B uto"neR" io "nou uto"neR" io ne0 uto"neR" io45B

    )P"ne! "nou ne0 )P"ne!45B "nou." 4 "nou uto"ne5B "nou." 4 "nou uto"neR" io5B " ./etContentP"ne45." 4 "nou5B " . "c>45B " .*etDe2"u!tC!o*eO er"tion4)Fr"+e.E ITKONKCLOSE5B " .*3o045B

    Pro,!e+" ro u*"@ *" *e re"!i=e=e inter2"t" e +"i -o* *i *" *e *crie "ctiuni!ecore* un="to"re ,uto"ne!or in "ce"*t".

    1

  • 8/12/2019 Proiectarea Interfetelor Grafice - Java

    92/92

    =W=4P'= 2= A#)" " P= < )?

    2!o"t nrY;nr&;re=u!t"tB nrY F!o"t. "r*eF!o"t4-Te6tFie! Y./etTe6t455B

    nr& F!o"t. "r*eF!o"t4-Te6tFie! &./etTe6t455B re=u!t"t nrYXnr&B -Te6tFie! .*etTe6t4Strin/.v"!ueO24re=u!t"t55B

    -Te6tFie! Y.*etTe6t4JJ5B -Te6tFie! &.*etTe6t4JJ5B -Te6tFie! .*etTe6t4JJ5B

    int te+ Bte+ 4int54Dou,!e. "r*eDou,!e4-Te6tFie! Y./etTe6t455 Y.(X &5B

    -L",e!&.*etTe6t4te+ XJ F"3ren3eitJ5B S