03 - introduccion a los applets de java

Upload: talivan-ivan-ramos-laureano

Post on 09-Jul-2015

87 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    1/16

    I n t r o d u c c i 6 na lo s app le ts

    d e J a v aObje t ivos D i f er en ci n r e nt r e n pp le ts ( su bp ro g ra m ns ) y ap l icaciones. O b se rv er a l gun a s d e I u s exc i t a n t e s c a r a c t e r fs t i c a s d e J av a a

    t r av e s d e l o s a pp lc ts d e d er no s t r nc io n i n cl u id o s e n e l K i t d ed es ar ro ll o d e s of tw a re p u r u J av a 2 . E s cr ib i r a p pl e ts s i m p l e s e n J av a . E sc ri b ir l i n d oc um e nt o H T M L ( H yp er 'I ex t M a rk up L cn gu ag e,

    L en gu aj e d e M a rc ad o d e H ip er t e xt o ) p un t c ur g ar u n u pp le t c an e lappletviewer ( v is o r d e a p p le ts ) 0 u n n av eg ad o r W e b , ye je cu ta r c I ap p l e t ,

    C o m p re n de r I n d i fe re n ci a e n tr e v a ri ab le s y r ef er en c ia s,E I r es po tu l cr ia a u n "illola!" 0 a cualquier g n t o j u en e ,ta l c o m o " iM t it a me !" o " iD e sm e n li za m i p e lu c al "o " iC o mo s e l lu me !" 0 " i C u li /q u ie r a q u e [ u e re .I'll nombre!"L e w i s C U I ' Il IIL a p in tu ru e s e / p u e n t e q ue v in cu la l a m en te t ie l p i l l to r C O I L l a d elo b s e r v a d o r :E u g e n e D e l a c r o i xM i m et od a e s t am ar e l p ro bl em a n ui s g r an de p ar a e n c o n t r a r la jraseC O / T e ct a q u e dedr , y l u eg d ec i rla co n l a m a yo r l ig e re tu ,G e or ge B e rn ar d S h awA un q l le s ea la IO C II I ' l l , m il l a s! c ue m a c on WI m e t o d a .W i l li am S h a k es p e ar e

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    2/16

    72 In trod ucc lon a lo s ap p le ts de Ja va C ap itu lo 3

    3 .1 I n tr o d uc c io nE n e l c a p it ul o 2 p re sc nt am o s l a p ro gr am a ci on d e a pl ic ac io n es e n J av a y v ar ie s a sp ec to s i rn p or ta nt es d e e st as ,T am bie n m o str am o s c om o e je cu ta r u na a plic ac io n e n Ja va m ed ia nt e e l i n te rp re te ja va . E n e ste c ap it ulo p re -s en ta re m os o tr o t ip o d e p ro gr am a e n J av a, c on o ci do c om o apple: (S l I !Jprograml l ) d e J av a: u n p ro gr nr na e n J av aq ue p ue de i nc ru st ar se e n u n d oc um e nt o H T M L ; e s d e ci r, u n a p iginu W e b. C u an d o u n n av eg ad o r c ar ga u na p ,\ gi -n u W e b q ue c on ti en c u n a pp le t, e st e s e d es ca rg a e n e l n a ve ga do r W e b y c om i cn za a e je cu ia rs e. E st o n os p er m it ec re ar p ro gr ar na s q ue c ua lq ui er u su ar io p ue da c jc cu ra r c on s ol o c ar ga r I n p u g in a W e b c or re sp on d ie nt e e n s u n u-v e g u d o r We b .

    E I n av eg nd o r q ue e je cu ta u n a pp le t s e c on o ce e n t er m in o s g en er ic os c om o el contenedor d e a p p le / so E I K i td e d es ar ro ll o d e s oftw are p ara Ja va 2 ( J2 SD K ) I A. t i n cI uy e e l c o nt en e do r d e a p pl et s l lu rn a do appletvie-werp ur a p ro b a r l os a pp le ts a nt es d e i nc ru st ar lo s e n I Ul IIp ii gi na W e b. P ur 1 0 g e ne ra l d e rn o st ru m o s n u es tr o sa pp le ts u ti li za nd o e l a p p le tv ie w er . A lg un o s n uv cg ud o re s W e b u ti li zu do s u ct ua lm e nt e n o t ie nc n s o p or te d i-re cto p ara Ja va 2 . N ets ca pe 7 1 c s u no d e lo s n av cg ad ore s q ue s f o f re ce n s op ort e p am Ja va 2 . P ara e je cu ta ra pp le ts e n o tr os n n ve gu do re s W e b c om o M i cr os of t I nt er ne t E xp lo re r. 0 v er si on es r ec ie nt es d e N e ts cu pe , s e r e-q u ie re e I C o m p lc m e nt o J a va i Ju v a Plug- in], e l c ua l s e in stu lu c om o p art e d el J2 SD K 1 .4 .1 .

    P ar a o bt cn er u n r ef uc rz o d e l os c on ce pt us a nt er io rc s, e st e c ap it ul o r ep as a v ar io s d e l os t em u s p rc se nt ad o se n e l c a p it ul o 2 . E n e st e c ap it ul o t am b ie n e m pc za re rn os a u tl li za r l a t e rm i no lo gi a d e l a p r og ru rn uc io n o ri en tu daa o b j e to s qu e s e p re se n io e n l a sccc ion U 5.

    A l i g u a l q ue en e l cap itu lo 2 . h ay u no s cu an to s cas as en lo s q u e t o d u v f a n o p ro p or ci on am o s l os d e tu l le sn e ce s ar io s p a ra c re ar u p li ca ci o ne s y a pp le ts c om p le jo s e n Ja va , E s im p orta nte q ue u ste d a um en tc p rim ero s uc on oc im ic mo a ce rc a d e lo s c on ce ptu s fu nd am en ta le s d e In p ro gn m ac io n, E n l os c ap ltu lo s 4 y 5 p r e se n r amo su n a m i li si s d e ta ll ad o d e l d e sa rr ol lo d e p m g m nl tl s y d el c o nt ro l d e p ro g ra m a s e n J av a. A r ne di dn q ue a vu nc e-m a s p ar e st e l lb ro , i re m os p re se nt an do m u ch u s a p li ca cl on es y a pp l e t s s u b s t a nci u l e s ,

    3 .2 A pp le ts d e m u es tra in clu id os e n e l K it d e d es arro llo d e s oftw are p araJ a v a 2C o m en ce m os p er c nn sl de rn r v ar io s a pp le ts d e m u es tr a q ue s e i nc lu ye n c on e l K i t d e d es ar ro ll o d e s of tw a re p a-m Ja va 2 (J2 SD K j, v ers io n 1 .4 . I. E st es a pp le ts d em u es tr an u na p eq ue fi a p or ci on d e l as p o de ro sa s h er ra m ic n-la s d e J av a. C ad a u no d e l os p ro gra ma s d e m ue stra d el 1 2S DK v ie ne tn rn bie n c an s u c o d ig o [ u en t e e n j a va ( lo sa rchives .ja va q ue c on tie ne n lo s p ro gr am us p ar a e ste s n pp le ts d e J av a). E ste c od ig o f ue nte le s er a iitil , a m e-d id a q ue a urn en te s u c on oc im ie nto s ob re Ja va : p od ni l ee r e l c o di go f ue nte q ue s e p ro po rc io na p ara a pr en de rn ue va s y c xc it an te s c ar ac te rl st lc as d e J UV ,I .R e cu er de , u l p ri nc ip io t od o s l os p ro gr am a do re s a pr en d en n ue va sc on cc pt os d e p ro gr um a ci on c o p iu nd o e l u sa d e e so s c on ce pt us e n l os p ro gr am a s c xi st en te s. E I J 2S D K i nc lu ye

    I. La v er si on o n i ng le s d e N e rs ca p e 7 esuid is p o ni b le a c tu u lm e n te e n channels.netacape.com/ne/browaersldownload.jsp. Lav er si on e n e sp m lo l e sl a d is po n ib le e n \'/WW.aola.com/netscape/downloadl.

    c a pnu l o 3 ln irc du cc lo n a 1 05 ap ple ts d e Ja va 7 3

    t U u c !J O sp r o gr u rn a s d e e j e m p l o , y h ay u na e n o rm e c a nt id a d de r e c u r s o s d e Ja va e n I n te rn et y W o rld W id e W e b,lo s cua les In c luy en co d lg o fuen te en Java . ' . . .L os p ro gra ma s d e d ern os tra cio n q ue s e p ro po rc io na n c on e l J 2S DK s c e n ~u en tra n e n s u d lre et~ no d e m s-t ul ac io ll d el J 2S D K , e n u n s ub di re ct or io U a m ad o .d em o . E n la v ~r si on 1 .4 d el K it d e d es ar ro ll o d e s ot tw ar e p ar aJ av a 2 , I n u h ic ac io n p re dc te nn in ad a d el directo rio d em o en W in do ws cs

    c : \ j2sdkl .4.1\demoE n U N IX JL in ll x/M ac O S X . es e l d ire cto rio e n e l q u e l is te d h a ya i ns ta la d o e l J 2S D K, segu id o de

    j2sd k1 .4 .1 /d em o. P ar e j e rnp lo ,lusr /10ca l / j2sdkl .4. I /demo

    E n l as d em d s p lu ta fo rm a s h ay u na e st ru ct ur u s im i la r d e d ir ec to ri es (0 c ar p et as ), E s te c a pi tu lo s u po n e q u ec l1 2 SD K c st (\ in stuludo en c : \ j2 s d kl .4 .1 e n W i n do ws , y en Sl l d i re c to r io p e r so n a l -Ij2 s dk i . 4 .1 enUNIX IL i nux iMa c a s X .'S i e stu u tili zu nd o u na h er rn m ie nta d e d es ar ro ll o e n J av a q ue n o in clu ye lo s d em o s d e J av a d e S un , p uc ded es ca rg ar e l J 2S D K ( co n l os d em o s) d el s it io W e b J av a d e S un M i cr os ys te m s:

    java.sun.com/j2se/l.4.1/download.html

    A p p l e t T i c T a c T o e . .EI a p p le t d e d c m o st rn c io n T i cT a cToe ( ta m b ie n c o n oc id o c o m o g at o ) le pCIUU l eJ u g a r a u s te ~ c o nt ra I n c o m p u -l ad o ra . P ar a e je cu ta r e st e a pp le t, a br a u na v en ta na d e c om a nd o s ( si m bo lo d e M S -D O S e n W i nd ow s 9 5 / 9 8 1 M E ,' im b ol o d el s is te m a e n W i nd o ws N T /2 0 00 1 XP 0 u n a v e nt a na d e t er m in a l/ sh e ll e n U N I X lL l Il ux IM u c a s X) yv ay a a l d ire ct ori o d em o d el J2 SD K . C ad a u no d e lo s s is te ma s o pe ru tiv os q ue s e m e n ci on un a qu i u tll iz a e l c o-m a n d o cd para camb ia r d i rec/ur ias. P o r e je m p lo :

    cd c:\j2sdkl.4.1\democ am bi a u l d irc cto rio d em o e n W in do ws , y

    cd -/j2sdkl.4.1/democ am b ia a l d i rc ct or lo d em o e n U N L X/ Li nu xI M ac a s X.

    E I d l r ec to r io d e m o c o nt ie n e v ar io s subdirecto ries. P u ed e v cr e st es d i re c to r ie s e s cr ib ic n do e l co rn an do di re n l u v e nt an a d e c om a nd o s e n W i nd o ws . o e l c o m an do I s e n U N IX lL in ux /J Vl ac a s X . N o s e nlo ca rc mo s e n l os~ i rec tor ios applets y j ic . E I d ire cto rio a pp le ts c on tie ne m u c ho s a p pl et s de . dcmos t r a c ion . , El direc tor iojf c ( Ja va F o un d at io n C la ss es , C la se s F un d um e nt al es d e J av a) c on ti en e m u ch o s e je rn pl os . de g ra ~c os e n J av ay c a ra c tc rf st ic a s d e O U I ( al gu n os d e e st es e je m p lo s s o n t am b ie n a p pl et s) . P a ra c u m bi ur a l d i r ec to r io a p pl et sd e be e sc ri bi r e l c o m un d o

    cd appletsya s ea e n W i nd o ws o U N lX IL in ux iM a c a s X . . .E nlls te e l c o nte nid o d el d irc cto rio a pp le ts p ara v er lo s n om bre s d e d ir ec to rio d e lo s a pp le ts d e d em o s-r ra ci cn . L a f ig ur a 3 . t p ro p or ci on a u na b re ve d es cr ip ci on d e c ad a e je m pl o.

    E j emp l o Descr ipc ion

    AnimatorArc'l'est

    R e u l l z a u na d e c u a tr o u n im u c io n e s s c pa r ud a s.D e m u e s t r a c omo d i b uj a r u r c o s . P u c d e i n tc r uc tuu r c o n c l a p p le t p a r a c a mb i a l' l o s a t ri b ut o s d e la rc o q u e s e m u e st rn .D i h u ja u n g n i li c lJ d e b a rr a s s imple .BarChart

    F i g u r Q 3.1 L o s e Je mp lo s d el d lre cto rio a pp le tll. (P ort e I d e 2 .)2 . T a l Ve Z neeesl te actual izn r estusublcac iones p i lr a U S II f 0 1 d i r e c tu r i ode l n a n l n c l ou y I I Iu n i da dde d i s c oqu e l i s te d se lecciono , 0

    un a ver ni6n d ls t in ta d e l J 2 SDK .

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    3/16

    7 4 I nt ro d uc c l6 n a 10 5 a pp le !s d e J av a Capftulo 3

    E lemp lo De sc r i p c i o nB l i n kC a r d T e s t

    M u e st ra t ex to p u rp a de an te e n d ls ti nt os c o lo r es .M u cs tr a v ar ie s c om p on en re s d e a UI y u na v ar ie du d d e m a ne ra s e n la s q ue p ue de n o rd en nr see n I II p an ta ll a, ( EI o rd en d e l os c om p on en re s d e aU I s e c on a ce t umb i en c o mo l u t i i s t r i b l l t ' i u l ld e lo s compnnen tes de GUL)D ib uj a u n r el oj co n " m an e ci ll as ' g ir at or ia s, I n f ec hu y h or n a ct ua le s. E I r el o] s e u ci uu liz a u nav e z p a r s eg u nd o .M u es tr a c om o d lb uj ar c on u na t ec ni ca d e g nif lc os c an oe i da c om o d if um in ad o, la c ua l p cr rn it eu na t ra ns fo rm a cio n g ra du al d e u n c ol or a o tr o.P e r m l r e ill u s ua ri o u r ra st ra r e l r at on p a ra dibujur I i n c u s y p un ta s e n c l a pp lc t, e n d is ti nt osc o l o r e s ,D ib uj a u n f ra ct al , L o s f ru ct al es g en er uh nc nt e r cq ui er en d e c dl cu lo s c om p le jo s p ar a d et er m ln arI n m u n er a e n q ue v an a r no str ur se ,D ib uj a u na v ar ie da d d e f ig ur as p ar a i l us tr ar la s c ap ac id ad es d e l os g ni fi co s.

    C l o c k

    D i t h e r T e s tD r a w T e s t

    F r a c t a l

    G r a p h i c s T e s tG r a p h L a y o u t D i b u j n 11 0 g n i f i c ou e c on si st e d e m u ch os n od os ( re pr cs en ta do s c om o r cc ni ng ul os ) c on ec tn do s

    pa r l in eu s. A rr as tr e u no d e lo s n o d o s y v e r a c om o l o s d erm is n od es e n e l g rd fic o s e a j u sta n e nl a p a nt al la , p a ra d e m os tr ar l nt er ac ci on es g n if ic as c o m pl ej as .

    l m a g e M a p Mues tr a u na im ag en c an p u n t o act i vos , A l c ol oc ar e l p u n te ro d el r a ton s a b re c i er t ns i i r eus dela imagen , s e r es al tn e l U r ea y s e m u es tr n u n m e ns aj c en l a e s q ui n a in fer io r l zq ui er da d e l av c n t u n a d e l a p p l e tv iewe r . C o l o q u e s c sab r e I n b o c a p a ra e s cu c ha r c omo ln imagen d i c e" h o l u " ,

    J u m p i n g B o x D e sp la zu u n r e c u i n g u l o e n f or m a n le at or iu , a lr ed ed or d e l a p a n ta ll a. [ Tr at e d e a ua pa rloh u c ic n d o c l ic sabre el c on e l r a ton !

    M o l e c u l e v i e w e r P r cs en ta u n a v i s t a t ri di m cn s io n ul d e v a ri es m o l ec ul ns q u im i ca s d is ti nt as . A r r a s t r e el r a t o n yvera II I m o lc cu ln d e sd e v a rl os d n gu lo s .N e r v o u s T e x t A r r as r ra t e xt o qu e sal ta p o r la p a n ta l la ,S i m p l e G r a p h D ib uj u u na c ur va comple j a .S o r t D e m o C o m pa n; t re s t ec nic us d e o rd cn um i en to . E I o rd en am i en to ( qu e s e d es cr ib e e n e l c a pi tu lo 7 )

    s ir ve p ar a o rg un iz ur la i nt or m ac io n; e s c om o u lf ub ct iz ar l as p al ab ra s. C u an do u st ed e jc cu tu e la p pl et , a p ar ec en t re s v e nt un u s d e l a p p l e tv iewe r . H a g u di e e n c ad a u na d e c llu s p ar ae rn pe za r c on e l o r de nn rn io nr o, O b se rv e q ue c ad a u na d e l as t re s t ec ni ca s d e o rd cn am ie nt oo p er u n a d is ti nt as v c lo ci da d es ,

    S p r e a d S h e e t Muest ra u na h oj a d e c al cu lo s im p le , c on f ila s y c o l u m n a s ,S y m b o l T e s tT i c T a c T o eW i r e F r a m e

    D ib uj a c ar ac te re s d el c on ju nt o d e c ur ac tc rc s d e J a v a .P e r m l m a l u s ua ri o j ug u r c o nt ra I n c o m p ut ad o ra ,D l bu ja u n u f ig u ra t ri di m en s io n al c omo m a lin u ld m br ic a. A r ra str c e l r ato n p ar a v cr l a f ig ur ad e s d e var ies a n g o l o s .

    Figura 3. 1 Lo s elernplos d el d ire cto ri o a pp le ts . (P ar te 2 de 2. )C um bi e a h or a ill s ub dir ec to rio T ic Ta cT oe . E n e sc d ire cto ri o c nc on tra ra c l d uc um en to H TM L e xa m-

    p le l. h tm l q ue s c u til iz a p ara e je cu ta r e l a p ple t. E n la v en ta na d e c om an do s, e sc ri ba e l c o m un doa p p le t v ie w e r e x a mp l e l. h t ml

    y o p ri m a I n t e c la Ent rar , Es to h ac e qu e s e e je cu te e l c on te ned or d e a pp lets a pp le tv ie we r, e l c uul c arg u c ld oc um ento H TJv IL ex am ple l. h tm l q ue sc es pec if ic a co mo s u a rg u me n to d e l t n e a d e c o t na n d os , determil lae n b as e 0 1 a rc hi vo q ue a pp le t d eb e c ar ga rl y c om ie nz u a e je cu ta rl a. L a f ig ur a 3 .2 m u es tr a v ad as c up tu ra s d ep an ta ll a d el j ue go d e T ic Tu cT oe c on c sl e a pp le !.

    3 , H a b la rc lO o s sabre lo s detu l l es de cs ta e n l a secci6n3.3

    capftul03 In troduccl6n 0 lo s a pp lets de Java 75

    Figura 3,2 E J em p l o d e 10 e Je cu cl 6n d el a pp le t T ic T ac T oe .

    , T ip p ar a p re ve "ir e rro re s 3 .1I f i / : ; \ S i ,I c oman d o a pp le tv iewer n o[ un ci on a u r ee ib e u n m e n sa je i nd ic an do q ue e l c omando l iPp l e t v i ewe r I/OV ! ! : : I pu;de e n c o n t r a r s e , t al v ee [II v ar ia bl e d e e nt om o P AT H I I lI eS l t ! c o r r ec t am e n te d e f in i d a en Sit c o m p w a d o r a . Rev~sel as i nd ic ac io ne s d e i ns ta il lc hi n p a m e [ K it de desarrollo d e s c f tw a r e para Java 2. po:~ t ls e g u ra r :I 'e d e q u e : 1 2 varlll-b l e t ie e n to r no PATH e s l e d e j i n i

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    4/16

    76 In tro dUcc l6 n a los a pple ts d e Ja va

    Va lv a r a ca rga r e l a pple t pa ra - ..8 Je eu ta rl o o tr a v e z

    Capffu lo 3

    S e le c cl on a r S a ll r p a r aI el appletviawer

    Figura 3.3 M en u Su bp ro gra ma d el appletviewer.

    S~I~c~ionc un co lor h ac ie nd o c li c e n el c f r cu l o qu e esta d cn tr o d e u no d e l os r cc ta n" ul os d e co l o r e , e n Inp ar te i nf er io r d el a pp le t. P uc dc s el ec ci on ur d e e nt re r oj o, verde a zu l r os a n ar nn ia y n c "g ro 'L ' .de QU I que s tili : , ' . , '" . as com pon en tese je m pl o e . t . ~ ~Z :~ p a r a p r e s cn . la r ~ s ta s o p c io n e s H e c on oc en c om u nm e nt c c om o bo t one s d e o p ci on . Po rC 'lS O 'I ' n c. 1 '1 .LD I , c un u u t o m o v l l , so lo p u e d e scleccionarse u na e s ta ci o n a la v ez . L a m ism o o cu rr e en e s t e, s o 0 p u c e e se eccionar u n co lor a l u v cz ,s c c n:~ ~~ ~~ ~ i ~~: ;e~~~l : i ~~ja~L1dCb l ,fn~?S ( U ne s) a p un to s (P~lnts) , haciendo die e n I n l lecha h a ci a a b aj o q u el is t 'l d e l eo e a p: a I I ~e s, e n I n p ar te i nf er io r d el a pp le t. A c on ti nu ac io n s e d es pl le ga un a, , rnponen to de Gll l , la c ua l c on ue ne Iu s d os o p c io n e s: l i ne s y P o in ts . P a ra s e le e cio n ar P o in t s, h a gu

    A rr as lr e e l p un le ro d e lr oto n e n e l crsob la nc a p ar a d lb uj ar

    S al ec cl on e a l c o lo rd e l d lb u Jo h a cl e nd ocjc e n a l c ir eu l od el c olo r q ue u st edq u ls ro , E s to 5c om po na nt es d eGU I S8 conocanc om un me nt e c om ab ot on es d e o p e/ on

    Seleccione 10 fo rm a ad lb uj ar h ac ie nd a c Uce n l a f le ch a hccloaba jo . y despueshaga cllc en Unas(Irnea,) 0 Points( pu n to s ), E s lsc om po ne nt e d e 10GU I s a c o n o cec om un me nt a c om oc u o dr o c om b/ no d o ,de se/acc/on 0 IIstodespegob /a

    F igu ra 3 .4 E jem plo de 10 e l s c u c l on d e l o p pl e t DrawTeat.

    cop~ulo 3 In tro du cc i6 n a lo s a pp le ts d e J av a 77

    c ll c e n e st a p al ab ra e n la l is ta , E I c o m po ne nt e d e Q U I c ie rr a I n l is ta y el t ipo de f or ma a ct ua l e s a ho m Points.E st e e om p on cn te d e Q U I s e c on oc e c om o c u ad ro c o mb in a do , d e s el ec c i6 n 0 lis ta d esplegab le . .

    Para e m pe za r u n n u e v o d ib u j o, s e le c ci o ne l u o p c io n V olv er a c arg ar ( Re lo ad ) en e l me n u S u b pr og r cmade l appletviewer. Para terminer 01ap p l e t, s e l e c c lc n e S al lr ( Q uit ) e n e l m e n u Subprograma de l applet~viewer.Apple! j a v t / 2 DE s le a p p le t m u e s tr a el A P I J a vl 12 D ( la s h e rr am i en ta s d e J av a p a ra d lb u ja r y ma n ip u la r g n if i co s b i di rn e n si o na l esc omp le j os ) . C umb ie a l d i re c to r io jf c q ue s e e nc ue nt ra en e l d i r e c to r i o demo d e l J 2S DK . y d c sp ue s c a m bi e atdirecto rio Java2D. En esc dirccrurio se e nc u en tr a e l d o cu m e nt o HTML Java2Demo. html, c l c ua l sc utili-z a p a ra c a rg a r y c je cu ta r e l a pp le t, E n l a v e nt an a d e c om a nd os , e sc ri ba e l c om a nd o

    a pp le tv ie we r J av a2 De mo .h tm lpara c u rg a r e l d o c ur n en t o HT1vfLJava2Demo, html y e m pe z ar l n e je c uc io n d e l a p pl ct . E s ta d e mo s tr ac i6 ntardu '1 1 g o d e t ie m po en c ar gn r, y u q ue e s b as ta nt e g ra nd e. L a f lg ur a 3 .5 m u es tr a u na c ap tu ru d e p an ta ll ad eu na d e l as r nu c ha s d e m os tr ac io n es d e e s te a p pl et , en re lacion co n l a s h e rr um ie n ta s p a ra g r af i co s b i dim c n si o na -le s d e Java . .

    E n I n p a r te super ior d e l a p p le t ha y f ic ha s q u e p a re c en c a rp e ta s en un a r c h i v e r o , E s ta d em o st r uc i ri n c u e nt ac on 1 2 f ic hu s, c ad a u na d e la s c u al es t ie ne v ar in s c u rn c te rf st ic as , P a m c am b ia r a u n a par te d i s t i u t a d e I n demos -t rn ci on , s im p le rn en tc h ag a e lk e n u na d e l as I i c h u s . T a m bi en p u ed e p r o b a r c u mb ia n do l as o p ci on e s e n l a e s qu i-na s up er io r d er ec ha d el a pp le t, A lg un as d e e st as o pc io nc s a fc ct an l a v c lo ci du d c on l a qu e e l a p p le t d ibuja losg ni fl co s, P or e je m pl o, h ug u c li c e n e l p eq ue fi o c ua dr o c on u na r na rc a d e v er if ic uc io n ( un c om p on en te d e G UTc on o ci do c o m o c as il la d e l 'erijicllcioll) qu e e s tr i a l a i zq u ic rd a d e l a p a la b ra AnlJ-Al i asing p a ra a c ti v ar y dcsac-t iv a r e l s ua v iz a do ( un a t ec ni cu d e g ra fi co s p a ra p ro d uc ir g ra fi co s en pnntal la m as s u av e s, e n los q u e l os b o rd e sd e l g n il ic o e s ta n d c sc n fo c ad os ). C u an d o e s tn c ar ac te n st ic u s e d e sa c tl va ( cs d e ci r, NU c a s il la d e v e r if ic u c i/ m s e d e -s e le c c io n a ), l a v c lo c i da d de a ni m ac io n n u m en ta p a ra la s f ig u ra s a ni m ad as q u e e s u i n en l u p a r te i n f e r i o r de lademostrucion , C0 J l1 0 s e m u es tr n e n I n I i gu ru 3 .5 . E st o o cu rr e d eb id o a q ue u na f ig ur a u ni ma da q ue s e m u es tr ac on s un viz ud o t ard u m a s en d ib u j ar s~ q u e lin a f i g u r a n n im a d a s in s u n vi za d o.

    Hago cl l c e n u na fl ch a p ara s ele cc lo no r u nod e mo s t ra e l6 n d e graticos b l d l r n s r s l o n c l e s

    C o rn bl e l as o p c lo n es p or o v e rsu etecto en 10dernosiroclon

    Figura 3.5 E je m plo d e 1 0e Je cu cl 6n d el a pp le t Java2D.

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    5/16

    7 8 In tro du cc i6 n a lo s a pple ts d e Ja va Capi lu lo 3

    3 .3 A pple t s im ple en Ja va : C om o d ib uja r u na c ad en a~ ho ra c re ar er no s n ue st ro s p ro .p io s a pp lc ts , R ec ue rd e, s ol o e st am o s e mp ez an do ; t en em o s m u ch os t er na s q ueu pr en de r a nt es d e p od e~ e sc ri bi r a pp le ts s im i l a re s a l os q ue s e m u es tr nn e n l a s e cc io n 3 .2 . S in e mb ar go , c ub ri -r em o s m u ch as d e l as n us m as t ec ni cu s e n e st e l ib ra ,

    Comen7,aren~os ca n un app le t s im pl e q ue d ib uja " iBienvenido a La progran lac i6n en Java . IIIE I ~ ~ pl ct Y s u s al id a e n p an ta ll a s e m u es tr an e n l a I ig ur a 3 .6 . L a p an ta ll a r nu es tr n a e st e a pp le t e je cu ta nd os e ~1 1I re s c on tt 1n e do rc s d e a p pl et s: e l a.p~letviewer, e l n a ve g ud o r W e b N e ts c ap e y e l n a ve g ad o r W e b M i cr os o ftI nte rn et E xp lo re r. A l fin al d e e sta s cc clo n e xp li ca re mo s c om o e je cu ta r e l u pp le t e n u n n av eg ad or W eb , .

    !,I Fig. 3.6: Subpro'1ram"Bi.envcmido. javaII Nues t r o pJ : ' imE ! r applet en Java.

    789

    1 01 11 21 3J41516' 1 7 '18192 02 1 }!/ f i . n d e la cl.aae S u b p J ; - o g r a m aB i e n v e n i d o

    Ejex------- +V e n lo n o d e l a p pl a tv l ew e rMenu Subprograma

    L o e s q ul n a s u pe ri or I zq u ie rd od el a re a d e d lb ujo e s 1 0ubcccon (0, 0) . E I ar ea d ed lb u jo t er min o j us ta e ne lm ade 1 0 b o rr o d e estoco . La scoordenadas -x seIn cre me nl on d e Iz qu ie rd o ad e ~ ec h a , L a s c o o rd e n ad a s -ys e I nc re m en to n d e a rr ib ah a el o a b ol o

    L a b a rro d e e st ad o I ml la1 0 q ue s e r n o s t n n c en 1 0" ' : : : 4 ~ ~ = . : : : : = = = = = : t - -a rra d e s st oc o d eln av eg ad or, a m ed ld aq ue s e ca rg o e l a pp le ! ye m p le z o a e j ec u ta rs eo ord en od a d e p ix el ( 2 5 . 2 5 )e n d on de s e m u es tra 1 0 c o d e no

    Es qu l na s u pe ri o r i z q ul e rd od el a re a d e d lb uj o

    B a rr a d e e s to d o

    Figura 3 .6 A pp le t q ue d lb uja u no c ad en o. (P orte 1 de 2 .)

    c apn u l o 3 In fro du cc i6 n a la s c ppls ts d e Ja va 7 9

    Coordenodo de(25. 25)

    Es qu l n a s epen o r i z q ui e rd od el a re a d e d lb ujo

    Barra d e e s to c c

    Figura 3. 6 A pp le j q ue d lb uJ a u na c ad en a. ( Pa rt e 2 de 2 .)E st e p ro gr al Ua m u cs tr a v ar ia s c ar ac te ri st ic as i mp or ta nt es d e J av a. C on si de ra re m os c ud a u na d e la s l ineas

    d el p ro gr am a d et al ln da m en te . L a l in ea 1 7 h a ec e l " v er da de ro t ra ba jo '' d el p ro gr am s : d ib uj ar I n cadena iBien-venido a 1a proqrsmacd.cn en J'}1'a! e n l a p a nt ul la . P e ro c o ns id er er no s cada l fn e ad e l p ro g ra m a eno r d e n , La s H ne as 1 y 2

    1/ Fig. 3.6: Subp~ogramaBienvenido.java/1 Nuestro primer applet en Java.

    s on c om e nt ar io s. L a l fn ca 1 i n di ca e l m i m er o d e f ig ur a y e l n om br e d e a rc hi ve p am c l c 6 tl ig o l 'u en te d el a pp le t,L a l in e a 2 s ir np le rn en te d e sc ri be e l p ro p os it o d el p ro gr ar na .

    R ec ue rd c d el c ap it ul o 2 q ue J av a c on ti en c m uc ha s e nt id ad es p rc de fi ni da s, l la ma du s c la sc s, q ue s e u gr up ane ll p nq ue te s ( co lc cc io ne s d e c la se s c on n or nb re s) e n e l A P I d e J av a. L a l in ea 5

    import java.awt.Graphics; II importar la clase Graphicses un a d e c l a ruc i o n import q ue i nd ic a q ue e l a pp le t u ti li za l a c la se Graphics d e l p a q ue t e java.awt. Estac la se p er mi te a till a pp le t d e J a v a d i bu j ar g n if ic o s , c o m o l fn e a s, r e ct a ng u lo s , o v a l os y c u d en a s d e c a ru c tc r cs . "

    L a lfn eu 6import jav~.swing.Jbpplet; II import~ Ia clas6 JApplet

    es una d e c l a r u c i o n import, l a c u al i nd ic a q ue e l u p pl et u ti li za l u c l as e JApplet d e l p a qu e te javax, swing.AI c rea r un app lct en J av a 2 , d e be i mp or tu rs e l a c la se JApp1et.5

    A l i gu al q ue c on l as a pl ic ac io ne s, t od os l os a pp le ts d e J av a c on ti en en c ua nd o r ne no s u na d ec la ra ci on d ec la s e p ub li ca . U n a c ar ac te rf st ic a c la ve de I us d ec la ra c io n es d e c la se s es q ue l os p ro gr am a do re s r ar as v ec e s c rc und ec lu ra ci on ea d e c la se s " a p ar ti r d e c er o'' . D e h ec he , c ua nd o s e c re u u na d ec la ra ci on d e c la se , n or ma lm e nt e s eu ti li za n p ic z as d e u na d cc lu ra c io n d e c la se e xi st en te , J a v a u t il iz a l a herencia ( es te t er mi no s e p re se nt o e n l a s e c-c io n 1 .1 5, y s e d es cr ib e c on d et al le e n e l c ap it ul o 9 , P ro gr am a ci on o ri en ta da a o bj et os ) p ar a c re ar n ue va s c la -s es a p ar ti r d e l as d ec la ra ci on es d e c la se s e xi st en te s, L a l fn ea 8

    public class SubprogramaBienvenido extends JApplet {c om ie n z a l a d e c la r uc i on class para l a c l ns c Subprograma.Bienvenido. E I c u er po d e l a c la se e st a d el im i-t ad o p or l a l l av e i zq ui er da , ( , e n l u l in ea 8 y s u c or re sp on dl en te H av e d er ec ha , } , e n I n l in ea 2 l. L a p ul ab ra c la veclass i nt ro d uc e l a d e cl ar ac io n d e l a c la se , SubprogramaBienvenido e s e l n o rn bre d e la c la se . L a p ulu -br a c l a v e extends i nd ic a q u e l u c la s e SubprogramaBienvenido hereda o s m i em b ro s e x is te n te s ( da to sy m e to do s ) t ie o tr u c l a s e , L a c la se d e l a q u e h er ed a SubprogramaBienvenido, JApplet. a p ar ec e a l u d e r e-chu de l a p u la b ra c la v e extends. E n e st a r el ac io n d e h er en ci a, JApplet se c ono ce com o la s u p e r c i a s e ySubprogramaBienvenido s e c o no ce c om o l a subclase' ' E I u so d e l a h e re nc ia a qu i p ro du ce u na c la se sub-programaBienvenido q u e t ie n e l os a tr ib u to s ( da to s) y c om p or ta rn ie nt os ( m et cd o sj d e I n c l as e JApp1et,

    4 . 8 1 c a pi tu lo 1 2 m u e st ra c o me d i bu jn r e n u na u pl ic ac lc n .5. Hayunac l ns e n u is an t igun [lumadu Applet ( del paqueie java. allpIet) qu e 11 0 es c o m pa t ib l e c o n l o s c o m po n em e s tic

    GU I deJ a va d e l p a qu e te javax. aw:I.ng.T o du s l u s c l u s e s de los upple ts ell e s t e l i b ro e x t ie n d e n I n c l a s e JApplat.6 . E n a lg un o s l cn g ue je s. la s supe rc la se s y s u bc l as e s s e c o n oc e n CO I 1 \O c l os e s b a s e y c l a s e s d e r i v ad a s ,

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    6/16

    8 0 In tro du cc l6 n a lo s a pple ts d e J av a C a pf fu lo 3

    a sf c om o I us n ue va s c ar ac te ri st ic as q ue a gr eg ar em o s e n n ue st ra d ec la ru ci on d e l a c l as e SubprogramaBien~venido ( es pe ci fi ca m cn te , l a h ab il id ad d e d ib uj ar IBienvenido a la programaci6n en Java! e n c lapp let) .

    N n s ot ro x e x tc n de m o s l a c l a se JApplet p o r qu e a l gu i e n m a s d e fi n io a n tc l 'i o nn e l) t c "1 0 que s i gn i fi c a SCI ' una pp le t," L os c on te ne do re s d e a pp le ts e sp er an q ue t od os l os a pp le ts d e J av a t cn ga n c ie rt os c om p or ta m ie nr os(me t odo s . ) La c l a s e JApplet ya p ro p or ci on u t od o s e so s c o rn p or tu m ie n m s, D e h echo , u n c on te ne do r d ea pp le ts e sp er a q ue c ad a a pp le t q ue e je cu te t en gu m a s d e 2 00 m e ro do s d is li nt os . H as ta e st e p un ta , e n n ue st ro sp ro gr am a s d ef in ir no s u n m e to da e n c ad a u no . S i t uv ie ra m os q ue d ef in ir m a s d e 2 00 m e to do s s 61 0 p ar a r no st ra riBienvenido a la programaci6n enJava! n un ca c re an am o s u n a pp le t, [ ya q ue e st o t om a rf u d em n .s ia do t ie m po ! E I u s n d e extends p ar a h er ed ar d e l a c l as e JApplet n o s p e rr ni te c re a r n u ev a s a p pl et s n ip id u -m e nt e, a l d ef in ir s () la m en te 1 0 q ue e s n ue vo y d is ti nt o a c er ca d e n u es tr os u p pl et s,

    E I m e c an is m e d e h er en ci a e s f 'l ic il d e u ti li za r; e l p ro gr um a do r n o n ec es it a c on oc er t od os l os d et al le s a ce r cad e l a c l a se JApplet n i d e c ua lq ui er o tr a s up el 'c Ja sc q ue v ay a a h er er la r a u na n ue va c la se , E I p ro gr am a do r s ol on cc es it u s ab er q ue l a c lu se JApplet d ef in e l as c ap ac id ad es r eq ue ri da s p ar a c re ar e l a pp le t m fn im o , S in e m -bargo y p a ra u ti li za r u n a c la se 10 m e jo r p os ib lc . l os p ro gr am a do re s d eb en e st ud iu r t od as l as c ap ac id ad cs d e I nsuperclase ," B u e n a p ra c tic a d e p r o g ra m oc io n 3 .1

    ~ illvesfigue c lI id a d os a m cl lf e l a s c a p a c i d a d e s de un a c l a s e en la r /OCIlIII

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    7/16

    82 In tro ducc l6 n a los ap p le ts d e Java C ap ffulo 3

    i nd ic a a I n c ompu t a do r a q ue r ea li ce u na a ce i o n (0 tu rea ) : d ib u ja r l os carnc te rcs de l a c a d en a iBienven id o ala prog ram ac i6 n en Java! en e l a p p let, E s ta in s truc cio n u ti liza e l m e t o d o d raw String de la c la seG ra ph ic s, e l c ua l p ro po rc io na c ap ac id ad es d e d ib uj o c om o d ib uj ar c ad en as d e c ar ac te re s, l in en s, r cc ta ng u-la s y ov alo s, L a in stru cc io n l la ma a d ra wS trin g utiJ iza ndo la referen da g de Ia lis tu de p aram etres d epain t, s e g u i d a p or u n s ep a ra d or t ie P UI lI O ( .) , < I Ic u al l e s ig u e el n o r n h r e de l m e t o d o , drawString, E s t en or nb re v a s e gu id o p D r u n c o nj un to d e p ar en te si s q ue c on ti en en l as a rg um e nt os q ue d ra w St ri ng n ec es it a p a-r a r e a l iz a r BU t ur ea , L a " g. " u l p ri nc ip io d e l a i n st ru cc io n i nd ic a q ue p ai nt d eb e u ti li za r e l o b je to G ra ph ic sq ue e l c on te ne do r d e a pp le ts p us a a p ai nt ,

    E I p ri me r a rg um en to p ar a d ra wS tri ng e s la c ad en u q ue v a a d ib uj ar , L os ti lti mo s d es a rg um en to s e n lulista (2 5 y 2 5) so n la s c o o r d c n a d a s r-y (0 lapos ic iol l ) e n d on de d eb e a pa re ce r l a e s qu in u i nf er io r i zq ui er da d eI n c ad en a. L os m e to do s p ar a d i bu ja r d e l a c l as e G ra ph ic s r eq ui er en c oo rd en nd as q ue l es e sp ec if iq ue n e n d on -d e d ib uj ar .! ' L a f ig ur a 3 .7 m u es tr a e l s is te m a d e c oo rd cn ud as d e J av a, L a s c oo rd cn ud as s e m id en a p ar ti r d e It te s qu in a s u pe ri or i zq u ie rd a d e l a p pl et , e n p i x e l e s . U n p ix el ( "e le m en to d e i ma ge n" ) e s u na u ni da d d e r es ol uc io np ar a l a p a n ta ll a d e s u c or np ut nd or a. C a da p ix el t ie ne u n pa r d e c o o rd e n a da s q ue d es cr ib e l a p o si ci on d e e se pi -x el e n la p an tu lla , E n u n p ur d e c oo rd en ad as , la p ri me ra c oo rd en ad u e s l a coo r d enad a . r ( e l n u m er o d e p fx el esc on ta nd o a p ar ti r d el l ad o I zq ui er do d el u pp le t) y I n s e gu nd a c oo rd en ad a e s I n c o or de n ad a y ( el m im e ro d e p i-x ele s c on ta nd o a p art ir d e l a p ar te s up erio r d el a pp le t) . E n e l a p ple tv ie we r, l a c oo rd en ad a (0 ,0) d e l a p p le ta pa re ce ju st o d eb ajo d el m en u S ub pro gr am a ( de l A pp le tv ie we r), E n u n n a v e g a d o r Web , l a c o o r d en a d a ( 0, 0 )d el a pp le t a pa re ce e n l a e s qu in a s up er io r iz qu ie rd a d el a re a r ec ta ng ula r e n l a q u e s e e jc cu ta e l a pp le t (v ea laf igura 3.6 ) ,

    En u na p an ta ll a d e c om p uta do ra , u n p ixel a p a r e c e como u n pun to c o l o r e a d o en l a p a n ta ll u. M u c h as c o m pu -t ad or as p er so na le s t ie nc n 8 00 p fx el es d e a nc hu ra e n I n p a at al la , y 6 00 p ix ele s d e a lt ur a, p ara u n t ot al d e S OOp or 6 00 , 0 48 0, 00 0 p fx cl es q ue p ue de n m o st ra rs e e n I u p a nt al la . L a m a yo rf a d e l as c om p ut ad or as S O i l cup a c e sd e p r od u c ir r n a y o re s r c s o lu c i o nc s (e s d e c ir , t ie n e n m as p f x e l c s de a n c h u r a y d e a lt ur a e n I n p a n t a l l a ) . E I t um a ii o d eu n a pp lc t e n I n p an ta ll u d ep en de d el ta ma lio y la re so lu cio n d e l a m i sm a, E n p un tn lln s d el m is mo t am an o, e lu pp le t s en i n ui s p eq ue ii o e n I n p an ta ll a a u na m a yo r r es ol uc io n d eb id o a q ue h ab ra u n m a y or m i me ro d e p ix el ese n l a p a nt al la .

    A l ejecu tarse l a l fn ca 1 7, s e d i bu ja la c ad en a iBienven id o a la p ro g ram ac i6 n en Java! en ela pp le t, e n l as c oo rd en ad as 2 5 y 2 5, O b se rv e q ue l u~ c om i ll as q ue e nc ie rr an a I n c ad en a n o a pa re ce n e n I n p an -ta l lu,

    P a sa n do a o tr u c o sa , i ,p a l" Uq u e sirv en la s c op ia s d e l os rne to dos in i t, s ta rt y p ain t s i n o r eal iza n u nat ar ca ? L a s ec ue nc ia d e i ni ci o p re de fi ni da d e l as l la m ad as a m e to do s r ea li za da s p ar e l c on te ne do r d e a pp le ts ,pa ra ca da a pp let, s ie mp rc es in i t, s ta rt y p ain t; es to g aran tiz a qu e es to s m eto do s se I lu men a l m om enloe n q u e e m pi cc e l a e j ec li ci on d e c ua lq ui er a pp le !. N o l od os l os a pp le ts n ec es it ll n l os t re s m e to da s, S in e m ba rg o,e l c o nt en e do r d e a p pl et s n o s a be e s o, P a r 1 0 t an to , e s pe ra q u e c a da u n a d e e s to s m e to d as e s tt ! d c li ni do , p a rd p o de rp ro po rc io na r u na s ec ue nc ia d e i ni ci o c on si st en te p ar a c ad a a pp lc !. E st o e s s im i lu f a l as a pl ic ac ia ne s q ue s ie m -

    ~ O - T _+ Y tE je Y

    +x E J e X

    I- . (x, Y)F ig ur Q 3 .7 E Is is te ma d e c oo rd en ad as d e Ja va , L as u nl da de s s e m i de n e ll p ix el es ,

    ]3, D c m o st m re m o s c o m o d ib u ju r e n I us u p li ca ci on e s, e n 0 1 c up H u lo 1 2 ,

    Cap ITu lo 3 In lro ducc i6 n a lo s app le ts d e Java 83

    p re i ni ci un s u c je cu ci on c on m a in , Al h e re d a r l a s v e rs i o ne s "prede te rminadas" d e e st es m e to do s, s e gnrantizaq ue e l c o n! en cd or d e a pp le ts p ue da t ra ta r a c ad a a pp le t d e l a m is m a f or ma , l la m an do a i ni t , s ta rt y pain ta l c o m cn zn r a e je cu ta r u n a pp lc t, A d er na s, e l p ro gr am a do r p ue de c on ce nt ra rs e e n d ef in ir s ol o l os m e to do s r e-q ue ri do s p ar a u n u p p l e t especff lco ,

    C l l / n p i l l l C i l l 1 l y e j e c u o i t i n d e a p p le : SubprogramaBienvenido uA I i gu al q ue c on I ns c la se s d e l as a pl ic nc io nc s, d eb e c om p il ar I II c la se d e u n u pp le t p un t p od er e je cu ta rl a. D e s-p ue s d e c re ar lu c la se Subp ro g r amaB ien ven id o y guardur lu en S ubp ro g ram aBien ven id o . java ,a hr a u na v en tu na d e c om a nd os , c am b ie u l d ir ec to ri o e n e l q ue g ua rd o l a d ec la ru ci cn d e c la se d el u pp le t y escribae l c o rn n n d o

    javac BienvenidoSubprograma.javap ara c om pile r la clas e de S ub prog ra maBien ven id o, 8 i n o ha y erro rc s de s in ta xis, los co clg os d e b yte sresu! tan tcs sc gu ard an e n el archive S ubp rog ram aBien ven id o . c la ss ( el u rc h iv o de c lase parasubprogramaBienven ido) ,

    Recuerde q ue lo s apple ts se inc rustan en pdg i na s W eb p ar a e jecuta rse en un c on t e ne do r de apple ts(app letviewer 0 u n n a ve g ad o r) , A n te s d e q u e p u ed a e je c ut ar e l a p pl et , d e be c re a r u n d o cu m e nt o H T l v I L pa -r a c a rg ar e l a pp le t e n e l c on te nc do r d e a pp le ts , P o r 1 0 g e ne ra l, u n d oc um e nt o H T M L t er mi na c on l a e xt en si ond e a r ch iv o " .btml" a".htm",L o s n av eg ad or es m u es tr an e l c on te ni do d e l os d oc um e nt os q ue c on ti en en t ex -t o ( l os q ue t am b ie n s e c o n oc en c om o a r ch iv o s d e lex to) , P ar a e jc cu ta r u n a pp le t d e J av a, u n d oc um e nt o H T M Ld eb e i nd ic ar c ua l u pp le t d eb e c ar ga r y c je cu ta r e l c on te ne do r d e a pp le ts . L a f i g u r a 3 ,8 m u e st ra t in d o cu rn e nt oH TM L s im ple (S ub pro gram aBie nv en ido . h tm l) , e l c ua l c a rg a e l u p pl et d e fi ni do en l a f ig u ra 3 .6 , en unc o nt en e do r d e a p pl et s.

    M u c h o s e le m en to s d el H T M L s e d e l im i t u n pa r p a r e s de e t i que t as ( f ags ) , P O l ' c j c m p l o , la s l i n e a s I y 4 de luf i g u r a 3 ,8 i n di c a n c l i n ic i o y e l f i nu l , r e s p ec t iv a m e n t e , de l d o c u m e n t o H TML . T o d a s la s e tl q ue ta s d e H TM L c o-m i e n z a n co n un s i gn a me nD /' q u e , e, y t en n in a n c on un s ig n a m a y or I II W , >, L a s l f nc a ~ 2 y J c s pe c i fi c a n un e l e -men l o applet, e l c uu l i nd ic a a l c o n t e n c d o r de u p p l e t s q u e d e be c a r g u r c i c rt o app lct, y d e f i n e el t a m a r i o d e l d r e ad e d es pl ic gu e d el u pp le t ( su anchu r u y altura e n p ix cl es ) e n e l c on te ne do r t ic a pp le ts ( es d ec ir , e l a pp le t-v ie we r o e l n av eg ad or ). P or 1 0 ge ne ra l, e l a p ple ! y s u d oc um en to H TM L c orr cs po nd ie ntc s c g ua rd an e n e lm i sm o d ir ec to ri o e n 0 1 di sc o, C o nn iu m en te , u n n av eg ad or c ar ga u n d oc um e nt o H T M L d es de u na c om p ut ad or a( qu e n o e s l a d e u st ed ) c on ec ta da u I nt cm c t. S in e m bu rg o, l os d oc tl rn cn to s H T M L t um b ie n p uc de ll r es id ir e n s ue om p ut nd or a ( co m o 1 0 d cm o st l' am o s e n l a S C C c i O l l 3 ,2 ), C li an do u n c on tc nc do r d e u pp lc ts . Ie c n cu cn tl 'a c on u nd oc ur nc ll to H T M L q ue a sp ee if ic u u n u pp le t a c je cu t' lf , e l c on te nc do r d e a pp le ts c ar ga u li to m ut ic am e n! e c l ' I f -. c h iv o (0 l os a rc hi vo s) c la ss d el a pp le t, d es dc e l m is rn o d ir ec to ri o c nl a c om p ut ll do fU e n l a q ue r CN i dce l d o eu -I ne n to H TML ,E I c le me nto a pp le t tie ne v ari os al r ibulos , E l p ri me r a tr ib ut o e n l a l i ne a 2 , c od e = "Subp ro g r ama -Bien ven ido .c la ss ", in d ica que e I a rc hivo S ub pro gram aBie nv en id o.c la ss co ntie ne Ia cl~ se dc la pp le t c om p il ud a, R ec ue rd e q ue , a l c o m pi Ia r s us p ro gm m as e n J av a, c ad a c la se s c c om p il a e n u n a rc hi vo s ep a-m d o q ). lC ti en e e l m i s mo n am b rc q ue In cl l lse y. tc rm in a c on l a e xte ns io n. c la ss , E I s eg un do y t e r c e r a t r ibu to se n l a l In ea 2 i nd ic an In anchura (width) y la al tura (height) d cl a pp le t, e n p ix el es , L a e sq ui nu s up e-r io r i zq u ic rd a d e l a re a d e d e sp li eg u e d e l a p pl et s ie m p re l ie n e l a c o o rd e na d a x 0 y l a c o or de ll ad a y O , L a a n ch u rad e e st e a pp le ! e s d e 30 0 p ix eJc s y s u a ltu ra c s d e 4 5 p fx ele s, T al v ez l is te d q uie ra (0 n e c e si t e) u l il i za r v a l or e sm a s g ra nd es e n w i d th y h eig ht, p ard d efi ni r u n d re a m a yo r p ara s us a pp le ts , L a m arc a < /a pp le b ( !f ne a 3 )t eo nin a e l e le me nt o a pp le t q ue e mp ez 6 e n l a l in ea 2 . L a m arc a < / ht ml > ( li ne a 4 ) e s p ec il ic a e l f in al d el d o-c um e nt o H T M L.

    14, E n l u p a gi nu www.deitel. aom/booJta/dowoloada ,html d e I lu e st ro M i ti oW e b c o n ln m o s c o n p l lb li cl lc io n c s d e I ns e r i e p a t T E L ' I ) 1 D I V E I N T O ' " q u e I e a Y l id u r ii n a c m p C Z l 1 r a u t i l iz u r v u r iu s h e l 'r r u ni e n tu s p o p u l a re M d e d e ~ U I T o li o C O i lJ n V I I T M , in -c iu ye n do e l K i l d e d e sa rr ol lo d e s ll fi w ar c p u ra J av u 1\ ! 2 d e S u n" 'l M l cl 'n sy st em s v e rs io n 1 .4 , d , of tw n rc S u n O ll e S l\ ld io 4C o m m u ni ty E d it i on d e S U Il M i cr os ys te m s, y B o rl un u J B II U de rT M 7 P e rs oo n l. T e nu re m o s o lr a. p u bl ic ac io lle , d e l a ; er ieD E t T E L 'I 'M D I V E I N T o 'f M t li sp o n ib l es , a m e d id u q u e l os I ll ae s tr o s I u s s o l ic it en ,

    http://www.deitel./http://www.deitel./
  • 5/10/2018 03 - Introduccion a Los Applets de Java

    8/16

    8 4 In tro duc c i6 n a lo s app le ts d e Java C ap IT u lo 3

    1 html234

    F igu ra 3.6 S ubp ro g -ram aB.i.e nven id o . h tm l c a rga 10 clo se S ub~ ro g ram aBien ven id o d e lafigura 3.6 e n e l a p pl et vi e w er .

    _ O bs erv a cio n . d e a pa rie nc lQ v is u al 3. 1P a m I s eg l lr a r lj /l e 1 / 1 1 l /P J ll et p u c d a v e rs e a p r op ia d u m a ue ell 1 1may nn d e l a s p un ta ll a s d e c om p ut a do ra ; c ad aa pp le ! d eb e s er m en or d e B OO pixe le s d e a n ch o Y 6 00 p ix el es d e I cl r. ~o t m ed id a s s o p o n a d a s p o r i a mayo r i a d e l a sp a m al la s d e c om p u to d or a) :

    ~5 E rro r c o m u n d e p ro g ra m a c io n 3.3 '~ O l v i d a r 1 1 i l t / r e a d ef in a l i z ac i6 n e vi l a q ue e l a p p l e l s e c ar gi l e a pr op ia da m cn te e n e/ applatvie-lllJj w ar 0 n a v e g u d o t :. ' T ip pa ra pre v en ir e rro res 3.3J < ' J l \ S ! t ec ib e 1 1 1 1 m e ns aj e d e e rr or MissingRasouraeE.:'I:ception II c ar ga r u n u pp le : e n el appletviewer aV ! ! : : / l l a v e g a d o r . v e ri fi q u e c u id u d o sa m e n te I II m a r c a I ' ll 1 '1d oc um en to H T M L p ar a a se gu ra rs e d e q ue n o h u-

    y u e rr or es d e s in ta xi s , c om o c om a s ( ,) e nt r e l o s a u ib u t o s.E I a pp le tv ie we r c om pr en de s ola rn cn te l as e tiq ue ta s d e H T M L < ap pl et > y < I ap plet> , p or 10 qu e

    a lgun us vec cs se co no ce co mo e l "n avegado r mfn imo" , ( Ignora t odu s la s d c m as e ti qu c ta s d e H T Iv IL .) E Iap p le tv iew er e s un luga r i d e n l p a ra p r ob a r u n a pp lc t y a s e g u r a r s e d e q ue f ie e j ec ut e c or re ct am c nt e, U n ave z q ue s e ha y a v e r it i ca d o l a e j e c u ci on de l upplc t , p o d n i ugregur la s e t ique tas d e H TM L d el u pp le t a u n d uc u-m e nt o H TM L q uc s en i v is to p o r l as p er so na s q ue navegucn en Inte rne t ,

    Para e je cu tu r Subp ro g r amaB ien ve~ li d o e n c l a pp le tv iew er, l ib ra u n a ventana de c omandos , c am -bi e ul d ir ec to r io q u e c o nt ie n e s u u p pl e t y s u d oc um e nt o H T M L . y d e s p ue s e s c ri b u

    a p p l et v i e wa r S u b pr o g . am a B i en v e n id o . h tm lE I a p p le t v ie w e r uti l iza 1 1 1 1 doc umen to H TM L p ar a curgar un a p p le t , E s t o d i fi e re de l inte rpre te java para[a s u p l i c u c i o n e s , e l c ua l r eq ui er e s 61 0 e l n om b re d e I II c la se d e l a a pl ic ac io n. A d e r m i s , e l c om n nd o a nt er io r d e-b e e je cu ta rs e d es de e l d i re ct or io e n d on de s e e n c ue nu un c l d o c um e nt o H T M L y e l a rc hiv e c la ss d el a pp le t,

    , T ip pa ra pra ve nir e rro re s 3. 4~ P r u e b e ~I~S~ p p le ls e n e l c o n te n ed o r c / . " o p p l e t s ( a p p l e t v i : V / e r ~a n te s d e e je cu uu io s ~ n u n n av eg ad or W e b. E sl oV !! : : I l e p em uu ra vel' l o s m e ns aj e s d e e rr or q ue p ue da n Ol.'/lfflr. / \ c i e m a s , tlll

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    9/16

    8 6 I ntr od uc clo n a 10 5 a p pl et s d e J av a

    19202122

    II fin del metodo paintII fin de 1a clase SubprogramaBienvenido2

    C oo rd en od o d e p ix e] ( 25 . 2 5 ) e nd o n d e Se m u es tra IBienvenido

    C oo rd en ad a d e p ix el ( 25 . 4 0 ) e ns e mu es t ra la programacion enJava I

    F i g u r a 3 . 9 D lb u lc r c a de n as e n u n a p p le t. ( Pa rt e 2 d e 2. )

    1 ehtml s2

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    10/16

    8 8 In trod uccl6 n a lo s a pplets d e Ja va C c pl tu lo 3

    / , . 9 J1 01 11 213141 51 61 71819202 il2 22 32 4

    ( 2 5 )'262728;29 j

    )~Qj3132

    [ ; , 33)3435363 738394 0t ~ 4 B4 2434 4t~ll4 64 7\ ! i I ' S !4 95 0 } II f i n d e l m e t od a p a in t5 152 II f in d e l a c la se S ub pr og ra rn aS um a

    1234 II Paquet e s d e J a v a1 6 e ! Import; j a v a . a w t . Graphi a r. ~ " 6 1i m p o r t : j a va x , sw i. nq.*;78

    / I P i g . 3.13: S u b p r og r a m a S um a . j a v aI I s um a d os mineros d e p un ta f lo ta nt e.

    II i mp or ta r l a c la se G ra ph ic sII Impcrt.ar e l paque t.e j a v a x . s w i n g

    p ub li c c la ss S ub pr og ra ma Su ma B xt en ds J Ap pl et {

    II i ni ci al iz ar e l a pp le t,p ub li c v oi d i ni t( 1{

    o bt en ie nd a l os v al or es d el u su ar io

    S t ri n g p r im e r Nu r ne r o ;S t ri n g s e gu n d oN u me r o;

    II primer a c a de n a i n tr o d uc i da p a r el u s u a r i oII s e g u n d a c a d e n a i n t r o d u c i d a p O l ' e l usuari.oII p r i m e r n u m e r o a s u ma rII s e g u n d o n t l m e r o a s u m a r

    d ou bl e n um e ro l;d ou bl e n um er o2 ;1 / ob t . e ne r e l p ri me r r n im e r o d e l u su a ri opr i m ez ' Nu r n e. r o J O p ti o nP a ne . s h ow l n pu t Di a lo g (

    " E s c r i b a e l p r im e r v a lo r d e p u n t o f l o t a n t e " ) ;II o bt en er e l s eg un do n um er o d el u ~u ar io.secundoblumero = J O p t i o n P a n e . showl n p u t . D ia l o q (

    "Escri e e l s e g u n d o v a l o r d e p u n t o f l o t a n t e" I;

    ) II f i n d e l m et o d o i n it

    II d i b uj a r l o s r e s u lt a d o s e n ' u n r e c ta n g u l o e n e l f o n d a d e l a p p l e tp ub li c v oi d p ai nt ( G ra ph ic s 9{

    II l l a m a r a l a v e r s i o n d e l m e t o d a p a i n t d e l a supercl a s es u p e r . p a i n t ( 9 I;II d ib uj ar u n r ec ta ng ul o, e mp ez an do d es de ( 15 , 1 0) , q ue t en ga 27 0II pfxal e s .de ancho y 20 p ix el es d e altog . d r a w R e c t ( 15, 10, 270, 20 I;

    F ig ur a 3 .1 3 S um ar v ol or es d o ub le . ( P ar te I d e 2. )

    Capnu la 3 l nr rocucclon a 105 a ppl et s d e J av a 89

    F ig ura 3 .13 Su mo r volores d o ub le . ( P ar te 2 de 2 .)U na ve z m a s , uti l izamos J O p ti on P an e . s ho w I np u tD i al og p a ra s o li ci tu r d a to s d e e n tr ad a a l u s u a -

    r i o . E l a pp le t c al cu la l a s u m a d e l o s v a l or e s d e en trada y m u e st ra e l r es u lt ad o , d ib u ja n do u n a c ad en a d en tr o d eun rectangulo e n e l a p pl e t. E l d o cu m c nt o B T M L p a ra c a rg u r e s te a p pl et en el a p ple tv ie w er s e mucs t r a enl a f ig u ra 3 .1 4 .

    L a h ne a 5 d c I n f i g ur a 3 .1 3i m p or t j a va . aw t . Gr a ph i cs ; II i mp or ta r l a c la ae G ra ph ic s

    i m p or ta l a c l as c Gr a ph i c s ( d e l p a q ue t e ja va . a wt) p aru uti l lzar la en e s t e a p p le t , E n rcal idad 11 0 se requie-r e l a d e cl ar ac io n im po rt d e l a l in e a 5, s i s ie m pr e u ti li za m os e l n om b re c om p le te d e la c l a se G r a p h ic s( java. awt. Graphics), q ue i nc lu ye e l n or nb re c om p le te d el p uq ue te y e l n or nb re d e l a c l us e, P or e je m pl o,l u p r im e r a l i n e a d e l m e to d o p a in t p o d rf u c sc ri h ir se a s f :

    p ub li o v oi d p ai nt ( j av a, aw t. Gr ap hi cB g, O bs erv oc io n d e in ge nie ria d e s oftw are 3 .1f 1 ; . ( l E I c o m pl la do r t ie J av a 1If} Il 'q ll iere l a s d c c la r a c im i e s i m p o r t ell (III a rc hi vo d e edt/igo [uen te ell l a va , ,Ii s e e s pe -

    ~ cij1ca el nombre c om p le ta d e l a c la se ( fw ll b ie n cO /l Oc : id o C P I IIO e l n ombn: de clase comple tamente r : a l i f i c l l t l o ) caria ve l q ue s e u i il ic e e l nombre de esa c l o s e en el c o d i g o fil

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    11/16

    90 In troducci6n 0 10 5cpplets d e J ov o Cop i ju l o 3

    , O bs e rv a c io n d e In ge n ie r ia d e s o ftw are 3 .2~ M ll c i lO S p a q u e l e s l i e u en ,s ub p aq ue le s. P O I' e jc m pl o, e ! p aq u et e ja va . awt t ie ne " ' s ub p aq u et e ja va . a wt.,~ ev e n t , C u a nd o e l compi ladur e ll cu e n lr a u l la dec larac ion impo r t q l l e ut i lua la n ot a ct o n (pOl ' e j e m p l o , ja-

    v a . a wt . * J p a nt i nd ic ar q ue 1 1 1 1 j 1 l ' Og ramap O i l ri ll u li /i :a r v u r ia s c l as e s d e 1 1 1 1 p a q u e l e , el c o l 1 l p i / a d o r IlII c ar ga l asc l a s e s d e I l I 1 l g l l 1 l 0 d e lo s subpaque tc s d e ja va . a wt. P O I ' 1 0 tun to , /III S e p u e d" d e ft ni r u n a i nS lr Il cc /o n i m p o r teV i l ja v a . p a ra b u sc p r l as c lu se s d e l ot io s l os puquetes b d s i c o s d e Jav a ;

    " ,. .. .. ,: . E r ro r c o r nu n d e p r og ra rn a ci o n 3 .4~ A su m ir q u e I I / l a d e d a ru cir 1 n i ~ p o r t , e l l 1 1 1 1 a q u e t comple to , ta m u ie n i mp o na Ch I S I ' . I e l os s ub p tlq ll er es d e e se~ p aqu ete. pro duce U ll e rr or d e sunax is p ar a la s c lase s d e c sos s u b p l q u e l e s .

    R ec ue rd c d e l a s cc cio n 3 .3 q ue l os n pp le ts h er ed un d e la c la se JA pp le t. p ar 1 0 qu e ti en en t od os l os m e.t od os q ue r eq ui er e l in c on tc ne do r d e a pp le ts p ar a e je cu ta rl os . L a ! fn ea 8

    p ub li c c la ss S ub pr og ra ma su rn a e xt en ds J Ap pl et (c o m i e n z a la d e c l a r u c a i n de l a c la s e Subp ro g r amaSuma , e i nd ic a qu e e st a c la se h er ed a d e J A p pl et . E Ic u e r p o de l a c la s e estu d e l i r n i t u d o p or l as H av es en la s l f ne as 8 y 52 .

    La l fn e u 9d ou b le B ur na ; II l a s ur na d e l os v al or es i nt ro du ci do s p or e l u Bu ar io

    d ec la ra q ue s um a e s u na v ar ia bl e d el t ip o p ri m it iv e d ou bl e. C o mo l a v a ri ab le e sn i d cc la ra da d en tr o d el c ue r-p o de I n d e c la r u c io n de l a c l as e, p e ro f ue ru t ie l os c ue rp os d e t o d a s la s d e c l n r n c i o n e s d e l os r n et o do s d e I II c la s c,e s u na i n s t r u c c i o n d e d ed ur ac io n d e v a r i a b l e para u n c a m p o (1 0 q ue a lg un as v ec es s e c on oc e c o m o var iab led e i t i st a n c ia e n o tr os l e n g u a j e s de p r og r ar n ac io n ). C a d a i n st an c iu de l a c la s e c o n ti en c un a c o p i a de c u d a c ampo .PO I ' ej em p lo , s i h ay I () o bje to s S ub pro gra ma Su ma , c ad a o bj eto t ic ne s u p ro pi u c op ia d e s um a , Po r 1 0 t a n t o ,h ab rf u 1 0 c op ia s d e s um a (u na p ar c ud a a pp lc t). [No ta : U tili za rn os e l te rm in o d e J av a " ca mp o" , e n v ez d elt e r r n i n o "varia b le d e in s ta n cia" , a 1 0 largo de l libro .] .

    U n b cn ef ic io d e l os c am p os e s q ue t od os l os r ne to do s d e l a c la se p ue de n u sa rl os . H a st a u ho ru , h e m os d cc la -ru do to da s Iu s v a ri ab le s e n e l m eto do m ain d e u na a pl lc uc io n. L as v aria ble s q ue Be d ec la ra n e n e l c u erp o d eu n m et od a c sp ec ific o s e c on oc en c om o v a r ia b l e s l a c a le s , y p ue de n u ti li za rs e s ol um e nr e e n e l c ue rp o d e c sem c to do , O tr a d e I us d i s t i n c ione , e n tr e l os c a m po s y l as v ar ia bl es l oc al es e s q ue l os c am p os t ie ne n v a lo r e s p r e-determinados y l as v a ri ab l es l oc a le s n o . E I v a lo r p r ed e te r m in u d o p ara u n c am po d e t ip o d ou bl e ( s u m a e neste e je m pl o) e s 0 .0 .H ! B ue na p ra ctlc a d e p ro gra rn ac io n 3 .2

    C . I n ic ia l i zar en forma e .l pl ic il a l os c a m p os , e n v e z d e i le p en d e r d e t ll l( l i n ic ia li :a c ir J ll l1 l1 tu ll u it im , m e jo r a Ia l e g i b i / i - d ad d e l os p m g ra m a s .E I a p pl ct d e l a f i gu ra 3 .1 3 c on ti cn e do s m c t o d o s : in i t ( li n en s 1 2 a 3 5 ) y pain t ( lfn ea s 3 8 a 5 0 ). C u un do u n

    c on te ne do r d e a pp le ts c ar gu u n a pp lc t, e l c on te ne do r c re u u na i ns ta nc ia d e I n c la se d el a pp le t y l la m a a s u r ne to -d o_ in i t. E I c o n te n ed o r de a p p l e f s l l ama a l m e t o do in i t so lo un a v e z , duran te 1 < 1 j e c u c i o n d e u n a p p l e t . Elme to do ini t n o r m a l m e m e i n i d i l l i z a lo s c am po s d el a p p l e t (s i n e c e s i t a n i n ic i aH z a r se c o n v a l or e s d i s ti n to s al o s p r cd e t e rm in ado s ) y r ea li za t ur ea s q u e d e be n o c ur ri r s 6 10 u n a v e z, c u an d o e l a p pl e! c o m ie n za a e j e cu t u rs c . C o -m o v e re m o s e n c a pi tu l os p o sl cr io re s , e l m e t od a i n i t d e l a p p l et g e nc rn lm e n te c r ea S l Ii n te rf uz g ra ti ca d e l I suurio .

    .:;, O b se rv ac io n d e in ge nle ria d e s oftw are 3 .300 E lo :d e n ~ ~ e l, /! ue l as I II ,i l od o s s e " ed o ra n I ' l l u n a c lu s e, 110 d e le n n in a C l lI il ld o s e / lo m a ll e s o. \' m i l li c/ o s e n l ie m p o~ c / : : J e c u c l U l l . .,~l/l m b a r g o , l a s c ~ l fl l' e nc i o n es e l l C l l l ll t/ O II a r d e l l ell e/ q ue l os m e to d o. \' s e d ec /l im n , m e ju ra n la l eM i -b ll td a d Y f a c tl ul ad d e m o n le ll ll 11 1 e ll lo d e l p m g m m o .L a p rim cr a H ne a d e l m e to da in i t s ie mp re a pa rc ce c om o

    p ub li c v oi d i ni t( )i nd lc a nd ~ q u e init e s u n m elo do p ub li c q ue n o re ci be a rg um en to s (p un in te si s we i n s d e s p U t! s d e i n it )p nr a r ea hz ar s u IUfea, y n o d e vu el ve in fo rm ac io n ( vo id ) a l ( e rm in ar. E I c ue rp o d el m et od a in i t e stll d el im i.t ad o p or e l p a r d e H av es e n la s l in ea s 1 3 y 35 ,

    c ap ITu lO 3 In troduccl6n 0 lo s o p p le ts d e Java 91

    La s H n ca s 1 4 y 1 5S t ri n g p r im e rN u r ne r o;s t ri n g ~ e gu n da N u rn e ro ;

    /1 p ri rn er a c ad en a i nt ro du ci da p or e 1 u au ar io1/ s eg un da c ad en a i nt ro du ci da p or e l u su ar io

    d ec la ra n l as v ar ia bl es S tr in g p ri m er N um e ro y s eg un do Nu me ro , e n l as q ue e l a pp le t g ua rd n la s c ud e-n as i n tr o d uc i du ~ p o r e l u s n ar io . E s ta s variables s e d e c la r a n en e l c u e r p o d e l m e to d a ini t,p o r 10 q u e so u v a r i a -b l es l oc a le s d e e s te m e to d a.

    La s l i n e n s 17 y 1 8d o ub l e n u rn e ro l ;d o ub l e n u rn e ro 2 ; II p ri me r n il im er oa a u ma rII s eg un do n um er o a s ur na r

    d e cl ar an l as v a ri ab le s n u m er ol y n um ero 2 d e t ip o p rim iti ve d ou ble (e st as v ur ia ble s g un rd an v al or cs d ep u n ta f l ot a nt e ). A d if er en ci a d el c nm p o s um a , l as v ar ia bl es l oc al es n um e ro l y nuneroz no Be in ic ia l izanca n 0.0 .

    A na liz ar em os m as la s d ife re nc ia s e nt re l as d ec la ra cio ne s S tri ng e n la s l fn ea s 1 4 y 15 , y l a s d e c l u r a c io -n es double en la s l f ne us 1 7 y 1 8 . Lo s t i p o s e n J a va s e d i vi d en en d o s c a t eg o r ia s : i i p o s p r im i ti vo s y t ipos d er e f e r e n c i a (conocidos t a m b i e n como t i p o s n o p r im u iv o s; Lo s t ip o s p r lm i t lv o s so n bo o le an , c ha r, byte ,sho rt, in t, lon g , f lo at y d ou bl e. L as v ar ia bl es d e e so s t ip os p ue de n, c ad a u na , g ua rd er e xa ct am e nt eun va l o r de s u t ip o d e cl ar ud o , P o r e jemp lo , In v a r ia b l e n um e r ol p u e de g u a rd a r e x ac tn m c n te u n v a lo r d o ub le( pu nt a f lo ta nt e) a l a v e z. T od os l os t ip os n o p ri m it iv es s on t ip os d e r ef er en da , p or 1 0 q ue t od as l as c la se s Hi so nt i p o s d e r ef er en da . L o s p r og r am a s u t il iz a n v a r ia b l es d e t i p o s de r e fe rc n c iu ( g en e rn lm e n te c o n oc id o s c omo r~/ 'er e n d a , I ' ) para r ejc ri r se a l o s o b je t os e n e l p ro g ru m a . D i ch a s r ef er cn c ia s c on ti en en la u b i c a c i o n de un o b je to e nla m e m o r i a de l a c orn pu ta do ru , e l c u al p od rt a c on te ne r r nu ch as p ie za s d e d at o s. y podrfa t e ne r m u ch os m e t o -d os , U n S tr in g a s u n o b j c t o , y l a s v a r ia b l es p r im e rNum e ro y segun doNume ro (H n ea s 1 4 y 1 5 ) s o n r e a l -m e n te r cf er en c ia s a o b je to s S t ri ng ,

    U na v a r i a b l e de t ip o p r i m i ti v e no p u ed e u s ar sc para i n v o c u r a un m e t o d o , S i n emb a rg o , u n us a i m p o r t a n -t e d e u na r ef er en da e s p ar a i nv oc ar m e to do s d e c ie rt o o bj et o. E n n ue st ro s a pp le ts n nt er io re s, e l m e ro do p ai ntr ec ib e u n a r ef cr en c ia H a m a da g, In c ua l h ae c re fe re nd a a u n o bje to G ra ph ic s. L as in st ru cc io ne s e n e l m ete -d o p ain t u tili za n e sa re fe rc nc ia p ara e nv ia r m en sa jc s a l o b je to G ra ph ic s. E st es m en sa jc s s on l la mu do s am e to d os ( c om o d ra w S tr in g y d ra wL in e) , lo s c ua le s h ac en q ue c l p ro gra ma d lb uje . P ar e je mp lo , la i ns -t r u c c l o n

    g .d ra wS tr in g( " iB ie nv en id o a l a p ro gr am ac io n e n J av al ", 2 5, 2 5 ) ;u ti liza a g p ara e nv ia r e l rne nsa ]e d ra wS trin g a (e s d ecir, lla mar a l m eto da d raw Strin g) el objetoG ra ph ic s. C o mo p ar te d el r nc ns uj e ( ll am u da a m e ro do ), p ro po rc io nu m os In i n fo rm a c io n ( a rg u m en r os ) q u ed r awSt r i n g r e q u i e r c pa m r ea li za r s u t ar ea . E I o b je to Graphics u t il iz a e s t a intormac ion para d ib u ja r l u c u -d en a e n I n u b ic a ci ou e s p cc if ic a da .

    O b se rv ac io n d e i ng en le ria d e s of tw a re 3 .4r 1 i : l U na s ug er en cia p ar a o yu dw le a d et e rm in ar s i IIIIll v ar ia b le e s d e l i po p ri ml tiv o 0 d e r ef e re nd a, e s e ll1 0m b re d el~ l ip o d ec la ra do d e e sa v ar ia b le , P O I' c U lI l' e nc il in , to do s lo s Iw m br es d e c la se s e ll . la va e mp ie za n CO i l l e l fl t m a Y l i . f cl l -la o P O I ' 1 0 t a l ll o , si e l t ip u e m pi ez a C O ll l/ l aY I; se ul a, g e ll er al ll l en le s e p u e de a su m ir q ue 1 0 v ll ria b le e s ww r e f e r e n c i a

    (I l i n o b je to d el lip o d ed a ra d o ( pO I ' ej em p lo , Graphics g in dk a q ue g es u na r ef e re nc ia ilil/l o ~ ; e / o Graphics).L u s l in e ns 2 1 y 22

    p r i m e r N u m e x o = J O p t i o n p a n e . s h o w I n p u t D i a l o g (" E s cr i b a e l p r im e r v a lo r d e p u n t a f l o t an t e " ) ;

    l ee n e l p ri me r n um c ro d e p un to i 10 ta nt e i nl ro du ci do p O l ' e l u sua rio . E l m eto da show Inpu tD ialo g d eJ Op tio nP an e m ue ~tr u u n c ua dra d e d i: ilo go d e e nt ra da q ue p id e a l u su ar io q ue e sc ri ba u n v alo r. E I u s ua rioe sc ri be u n v a lo r e n e l c am p o d e t cx to d el c ua dr o d e d i: il og o d e e nt ru da y d es pu es h ac e d ie e n e l b ot on A c ep ta rp u ru r cg r e~ < lI 'a c a de n a q u e e s cr ib i6 c l u s ua ri o. S i u s te d e s cr ib c y n o a p a re ce n ad a e n e l c am p o d e t ex lo , c ol oq ue

    1 6 . E n e l c ! lp i lu lo 9 , h u bl a rc l Uo s s a br e l a s h n e r fu c es , q u e t nm b l cn s o n t iP l ls d e r c fe r en c iu s .

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    12/16

    92 In tro du cc i6 n a lo s a p ple ts d e J av a Capi lu l03

    e l p u nt c ro d el r a to n e n e l c am p o d e t e xt o y h ag a c li c p ar a a ct i v a r lo . A l a v a r ia bl e primerNumero s e l e u si g -n a e l r cs ul ta do d e In l la m ad a a showInputDialog.

    E n l a s l i n en s 2 1 y 2 2, o bs er v e l a s in ta xi s d e I n l I a m a da a l me to do , H a st n e st e r no m en to , h er no s v is to d o sl l a rn ad u s d is ti n ta s a l o s m e to da , d e l l a m nd a, E s t a i n st ru cc i6 n u ti l i z a l a s in ta xi s d e l l am u da a m e to do s static,p re se nt a du e n e l c ap it u lo 2 . R e cu er de q ue l o s m e to do s static s e l l u m an c on l a s in ta xi s

    NO l ll br e C la s e. ll o mb r eM t fl od o ( a r gu m e nt o s )E n e st e c ap it ul o t a m b i e n h em o s l l a m ad o rnetodos d e l a c l as e Grapb.ics c an u na s in ta xi s s im i l a r q ue e m pi e znc on u na r ef er en ci a a u n o b j e ta Graphics. E n f or m a g en er ic a, e st a s in ta xi s e s

    l Io l l1 b re R ej em . ci a .l lo m b re !v fl it o do ( a r gu m e nt o s )E s tu s i nt ax i s s e u ti li za p ar a I n m a y or i a d e l a s l l amudu a me to do s e n J av a. D e h ech e , cl co n te n edo r d e app letsu ti li za c st a s in ta x is p a ra I la m a r a l os r ne to d os ini t , s ta rt y paint e n l o s a pp le ts q ue u s te d e jc cu te .

    L a s l i n en s 2 5 y 2 6a eg u nd o N um e ro = J Op t io n P an e .s h ow l np u tD i al o g(

    "Eacriba el segundo valor de punto flotante" );l e en e l s e g un do m im c r o d e p un to f lo tan te i n tr od u ci d o p a r e l u su ar io m e d i a nt e u n c ua dr o d e dialogo .L as l i n en s 2 9 y 3 0

    numeral = D ou bl e. par se Do ub le( pr im er Num er o );numero2 = D ou bl e. pa rs eD ou bl e( s eg un do Nu rn er o ) ;

    c on v i e rt e n l a s d os c ad en as i n tr od uc id a s p o r e l u su a r io e n v al or es doubl e, p ar a u sa rl o s e n u n c al c ul o , E I m e -t o d o Double .parseDouble ( un m e to d o static d e l a c la sc Double) c o n v i e r t e 5U n r g u m e n t o Stringe n v a lo r double d e p un to l 1 o ta nt e . L a c la se Double s e e nc ue nt r a e n e l p a q u e t e java .lang.O b se rv ac i6 n d e i ng en ie r[a d e s o ft wa re 3 .5

    ( ,m in I Ipn p ri m it iv o ( cn ll w double) t ie n e 1 1 11 0c lase l'orresplJlulit'me ( C O I I / O Double) e n e l p a q u ct e java .lang.E . vl e/ .\ l o se s [ c on o ci d as c o m o c la se s d e e n vo lt ur a d e t ip os ( wr ap p er J! p ro po rc lo ne n m et od os p a ra p ro ce sa r v ul o-I ' IW d e t i p o p r im it i ve (CO I l l O c on ve ni r u na c ud en a u u n v al or d e t ipo pr im i t iv e. 0 v ic e ve r su i . L o s t ip o s p r im l ti vo s I/Ol ie ll

    Capnu lo 3 In tro du cc l6 n a lo s a pple ts d e J av a 9 3

    c o or de n ad a ( 1 5, 10), q ue t i e ne 2 70 p fx el e s d e a nc hn y 2 0 p fx cl e s d e a lt u ra . H a ~ q ue t ~ ne r e n c u~ nt u q ue e xp e-r it n en ta m os c on e st o s a rg um e n t o s b as ta e nc on tr ar v al or es q ue c ol o cn rn n 1 0 m e j o r p os ib le a l r ec ta ng u l o a lr ed e -d ar d e l u e ad cn a e n e l a pp lc t,

    Er r or e om u n d e p ro gra ma ci6n 3 .5~ E I ' u n e rr or l e/ gi co p ro po rc io n ur d os p u nt as ( rs d ec it ; p ar es d e c oo tt le na da s x d Y ) c o mo a rg um en to p ar a " ' l 1 u f .[ j l i J J todo drawRect de Graphios, E I t er ce r a lg wl le nt u d eb e . I '(!( l a a n ch u ra e n p t xe ie s , y e l " ua rt o w gu m C' nl o c lu b.

    ser/" altura ( 'II p t x e l e s d e l r e c la n g l il o el ilibujar.. E rro r co m u n d e p ro gra m ac io n 3 .6

    ~ Es lin e rr o r 1 6 gi co p m p or c !o l la r I In l l anc hu ra 0 a l t ur a , ~ e g~ t i l' a ,c o ~ l Iu . " ' X l lm e n l a p a r a e/ mti tado drawRact de 10~ ciase Graphics. E I r ec ui ng ul o n o a pa re ce ra y n o s e I l ld , c ll r a I l l n g u " e rror .. ~ ~ : : ~ :, : : ~ , ~ ! ~ , : ,: r : ~ ; 6 : : ~ ~ ! ~ : r c ~ ~ : ( / rIrgwII

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    13/16

    94 In tro du cc l6 n a 1 05 ap ple ts d e Java C o pit ul o 3

    c on ti en e v ar io s r ec ur so s s ob re u pp le ts d e J av a, i nc lu ye nd o a pp le ts g ra tu it os q ue l is te d p ue de u ti li zn r e n s u p ro .p ia s it io W e b, l os u pp le ts d e d em o st ra ci on d el J 2S D K y o tr os a pp le ts ( mu ch os d e l os c ua le s p uc de d cs ca rg ar yu ti li za r e n s u p ro p io e qu ip o ). T am b ie n h ay u na s ec ci on t it ul ad a " Ap p le ts a t W o rk ", e n d o nd e p ue de l ee r a ce rc ad e l os u so s d e lo s a pp le ts e n In in du stria .

    S i n o t ie ne e l C o m pl em e nt n J ll va ( Ja va P lu g- in ) e n s u e qu ip o, p ue de v is it arj av a. B un . c om /g et j av a ( v e r s i o n en i n g l C R ) 0 j av a. s un . c om / g et j a va ./ es ( v e r s i o n en e s p u a o l )

    p ar a d es ca rg ar c i ns ta lu r e l c om p le m cn to . S e i nc lu ye n i ns tr uc ci on es p ar a v ur ia s v er si on es d e W i nd o ws , L in ux ,Sola r i s y M ac O S.

    E n e l s it io W e b s oh re Ja va d e S un M ic ro sy ste ms , v is ite e l s iti o J a va D e ve l op e r S e rv ic e sd ev el op er . j av a. s un . c omE s tc s it io g ra tu it o i nc lu y e s o p o rt e t ec n ic o , f or os d e d is c us io n , a rt fc u lo s t cc n ic o s, r ec u rs o s, a n un c io s d e n u e-

    v as c ar ac te rf st ic as d e J av a y a cc es o n nt ic ip ad o a l as n ue va s t ec no lo gf as d e J av a, S 6 10 t en gu e n c ue nt u q ue r nu -c ho d el m a te ri al r nc nc io n ud o a pa re ce e n I ng le s,

    P ar a v er l os d iv er so s c ur s o s d e c ap ac it uc io n y t ut or ia le s e n l in ea , v is it c e l s it iod e v e l o p e r . j a v a . s u n . c o m / d e v e l o p e r / o n l i n e T r a i n i n g

    O tro s it io W e b u ti! e s JARS : o ri gi na lm e nt e c on o ci do c om o e l S et vi ci o d e C la si fi ca ci on d e a pp le ts e n l av a( l a va A p p le / R a ti n g S e rv i ce ],El s it io J A RS

    w w w . j a r s . c o mo ri gi n ul m en tc e ra l in e xt en s o d e p o s l t o p ara u pp le ts d e J av a S u b en efi cio e ra q ue c l a s i f i c u b a cad a un o d e lo su pp le ts r eg is tr ad o s e n e l s it io , d e m u ne rn q ue s e e nc on lr ab an e nt re e l l , c l 5 . 0 e 12 5% d e lo s m as p op ula re s, D ee st a f or m a u st ed p od ia v er l os m e jo re s u pp le ts e n W e b. D u ra nt e l as p ri me ra s e ta pa s t ie l d es ar ro ll o d el l en gu aj eJ av a, h ac er q ue c al if ic ar nu e l u pp le t t ic u n p ro gr am n do r e n e st e s it i n. e ra u na e xc el en te m a ne ra d e d er no am r s ush ab il id at le s d e p ro gr am u cl on c n J av a. J AR S c s a ho ra u n r ec ur so c or np le to p ar a l os p ru gr nm n do rc s d e J av a.

    L o s r ec ur so s q ue s c e nl is tn u e n e st a s ec ci on p ro p or ci on an h ip er vi nc ul os p ar n m u ch os o tr os s it io s W e b r c-l uc io na do s c on J av a. S i u st ed t le nc a cc es o a I nt er ne t. i nv ie rt a m r i~ t i em p o n uv eg an do p o r e st es s it io s, e je cu tu n-d o a p p le t s y l ey en do e l c o d ig o I ue nt e d e e st es , c uu nd o c s l e d i sp o n ib le . E s to Ie a yu d an i a e xp u nd ir r ap id u m en t eSll e xp er ie nc ia c on J av u. P ro p or ci on um o s m u ch os o tr os r ec ur so s s ob re J av a b as ad os e n W e b c an l os r cc ur so spara Com o p r o gr am a r ell I a va , qU;lI la ed icion, e n www.de i t e l . c om.

    3 .7 ( Ej9 m plo r o 9 t i9 Q Q p q i o P d l ) A c e r C C l d e lo s 0 6 j e fo S : IC i e h t if i8 b C i o n .A h or a c om e nz ur er no s l a c on si de ra bl e t ar ea d e d is ef ia r e l s im u la do r d e e le va do r q ue p rc se nt ar no s e n e l c a pi tu lo 2 .E m pe za re m os c an e l d is ef lo d el c le va do r e n s f, y d is ei ia re m cs l a i nt er ac ci on d el u su ur io y e l d es pl ie gu e d e e s-t e m o d e le e n la s se c c i o n c s 14 . 13 y 19 . 7 , r e s pe c ti v amen t c .

    H 8 ~ i ; # j i t ~ ~ T 6 n ~ ~ l i ! S " a l ( i ~ ~ r I j J g F s i 4 t ~ i ! l , l JEl p ri m er p as o d e n ue st ro p ro ce so d e 0 00 e s id en ti fi ca r lo s ob je to s a p ar ti r d el cn un c i a d o d el p ro bl em a . p ar aa gr up ar lo s e ll c la se s. E ve nt ua lm e nt e d es cr ib ir em o s e st as c la se s d e u na m a nc ra f or m al , y l as i m pl em e nt ar em o ae n J av a. P ri m er o r ev is ar er no s c l c n un ci ad o d el p ro bl em a d e l a s e cc io n 2 .9 , p ar a i dc nt if ic ar l os sus tantivos c lave ;e s p ro ba bl e q ue a lg un o s d e e st es s us ra nt iv os i de nt if iq uc n l os o bj ct os q ue c on fo rr na n I n s i m ul ac io n d el e le va -dor," L a f ig u ra 3 .1 5 r n uc st ra c sl os s us ta n ti vo s ( y [ ra s es u o m in a lc s) .

    S c le cc io n am o s 5 6 10 l os s us ta n ti vo s q u e t en g un s ig n if ic a do el l l a s im u la ci o n d e l e lc va d or , PO I ' e st a f U 2. 6no m it im o s v ar io s s us ta nt iv os . N o n cc es it am o s m o dc la r " cm p re sa " c om o u na c la se . y a q ue I n e m p re sa n o f or m ap ar te d e I II s im u la ci 6n ; l a e m p rc sa s im p le m cn te g ll ie re q ue n os ot ro s c on st rl ly am o s I n s i m li la ci 6n d el e lc va do r.N o v am o s a m u de l" r e l " ed it ic in d e l lt ic in ns ", I n l I bi ca ci 6n d el 0 1 cv ad ol '. yn q ue d c di ti ci o s c c nc ue nl ru [ ne rnd el i \! ea nc e d e n ue st ra " im u lu ei !\ n t id d ev ad o r. L as f ra se s " pa nt ul lu ", " au dj o" y " m us ic u d e e le va do r" p er te ne "1 9 . E I lU u il ls is d e I n s H u s t al lt iv o s o s t il l s im p l e m e d i" pO l ' c l e u a! p n d em o s d d cr m il ll ll ' I ll S o b je lO s r cq u er id o s p a r 0 1 o n un c ia d ll d e l

    p r o b l e m " . C omo d ij im u s e n e l c n pi tu ll l I. en lu i n d u Sl r1 1 1s e u t il iz u n ;l m e u u d a [ J 1' I1 C C S a Sl il s c m n p l ej n s.

    capffu lo 3 I ntro du cc i6 n a lo s a p ple ts d e Ja va 9 5

    sustcmtlvos (y f rc s e s n om l n cl e s) e n e l e nu nc la do d el probtemc

    cmpr c s ae d i f i c i o d e o f ic i na selevado rI lp l ic U C i o n d e s i m u la d o r d e s o f tw a r epl lSujc rou s u a r i o de n u e s tr a a p l ic a c ic nb a t o n d e l p is ob o to n d e l e l e va d o r

    s is te m a d e e lc v ad o rc o n d u c t o de l e l e v a d o rp u er ta d e l p is ot im b re d e nt ro d e l e l e va d orl u z e n e sc p is oe n e r g i uc a p u c i d a dc a r r o d e l e l ev u d or

    i n te rf a z g n if ic u d e u s ua ri o (GUI )p e r s o n up iso (pr imer p iso , s e g u n d o p lso ]b oro n d e G UI P r im e r P is ob oro n d e G Ut S eg un do P is ou u d l on u is ic a d e e le v a do rp a n t a l l a

    Figura 3 .15 Los su s t a n tl v o s (y fra se s n om ln al es ) e n e l e n un cla do d e u n p ro ble ma .

    c en a I n p a nt al la d e l a s i m ul ac io n , p er o n o p er te ne ce n it l u s im u la ci on e n si . ( U ti li za re m o s e st as f ra se s c u an d oc on s t r u y amos In panta l la C i l i a s e cc io n 1 9. 7 y e n e l a p en d ic e F. ) L a s f ra se s " in te rf az g rd fi ca d e u s ua ri o ( GU I )" ," us ua ri o d e n ue st ra a pl ic ac io n" , " ba to n d e O U ! P ri me r P is o" y "bo to n d e GU I S eg un do P ls o" p erte ne ce n a l am a ne ra e n q ue e l u su ar io c on tr ol a c l s im u lu do r, ( Ut il iz ar em o s e st as f ra se s c ua nd o c on st ru ya m os I n i n te rf az d eu su ar io e n I n s e cc io n 1 4 .1 3. ) A u nq ue a ho rr ur er no s e ne rg fa c on l a p ol ft ic a d e n o m o ve r c l e le va do r s in o h as taq ue s e s ol ic it e, n o m o de la m os I n " e ne rg fu '', P er u lt im o , " ca pa ci da d" e s u na p ro pi cd ud d el e lc va do r y d e l p is o ,n o u na e nt id ad p or s ep ar nd o .

    P ar a d et er m in ar l as c lu se s d e n ue st ro s is te m a. u gr up am o s l os s us tu nt iv os r cs ta nt es , D e sc ar tu re m os " si st e-m a d e c le va do r" e n e st os m e m en to s: n os e nf oc ar cm o s el l d is ei ia r s 61 0 e l s im u la do r, s in t om a r e n c ue nt a c om os e r elu cio na e ste s im ula do r c on e l s is te ma e n s u to ta lid ad . (H ab la re rn os s ob re c l s is te ma e n s u to t al id ad e n l as ec ci on 1 4. 13 .) C o m hi na re rn os " cl ev ad o r" y " ca rr o d el e le va do r" e n " el ev nd o r" , y a q ue e l e nu nc ia do d el p ro -b le m a u ti li za l as d o s p al ab ra s p ar a d es cr ib ir 1 0 m i sm o . C ad a s us ta nt iv o r cs ta nt e d e I II f ig ur a 3 .1 5 s e r ef ie re I Iu no a m a s d e l os s lg ui en tc s:

    c o nd u ct o d e l e le v ad o re levadorpe r s onap i so ( pr im e r p is o, s eg un do p is o)p u er ta d e l c l e v a d o rp ue rt a d el p is oboron d e l e l ev a d o rb at on d el p i sot imbrelu z

    E s p ro ba bl e q ue l os e le m en to s d e e st a l is ta v ay an a s er c la se s q ue n ec es it ar er no s i r n p l e r n e n t a r e n n u es tr o s is te -m a. O bs erv e q ue e nlis ta rn os lo s b oto ne s e n lo s p is os y e l b o to n e n e l e le va do r p or s ep ara do , L os d os tip os d eb ot on es r ea li za n d is tl nt as t ar ea s e n n ue st ra s ir nu la ci on : l os b ot on es e n l os p is os l la m an al e levador y e l b o to ne n e l e lc va do r 1 0 i ns tr uy e a m o ve rs e h ac ia e l o tr o p is o,

    A ha ra p od em os m o de la r la s c la se s e n n ue str o s is te ma , c an b as e e n It l l is ta q u e c re a m os . P o r c o nv en c i6 n ,c ap im l iz Ul l1 0s l os n om b re s d e l as c la se s e n e l p ro ce s( ) d e d is ei io ( co m o 1 0 h ar em o s c ua nd o e sc ri ba m os e l c ti di -g o Ja va q ue im pl cm en ta n ue stro d is en o.) S i e l n om bre d e u nu c la se c on tie ne m as d e u na p ala bra , ju nta mo s la sp al ub ra s y c ap it al iz am o s c ad a u na ( po re je m pl o, J >l 'o m br eC o nV a ri as Pa la br as ). U ti li za nd o c st n c o n ve nc i6 n,c reum os las c lases C on duc toE lev ado r , E levad or, P e rson a, P iso , Puar taE le vado t', Pu erta -): Iiso , Bo to nE lev ad or, Bo to nP iso , T im bre y L uz . C rca rC lllo s n uestro sis te ma utillz an do to das estasc la se s c om o b lo q ue s d e c on st mc ci 6n . A n te s 'd e e m pc za r a c on sL ru ir c l ~ is te m a, d cb cm o ~ c om p rc nd er m e jo r I nm a nc ra e n q ue s e r cl uc io nu n l as c la sc s e nt re s l.

    http://www.jars.com/http://www.deitel.com./http://www.deitel.com./http://www.jars.com/
  • 5/10/2018 03 - Introduccion a Los Applets de Java

    14/16

    96 In tro du cc i6 n a 105 oppls ts d e J av a C a pIT ulo 3

    ~ : r e 6 i n ' U l n ( } d e l l l r i l l . ~ c l a s e $ ~UM L n o s p e rm i te m o d el er , m e d ia n te e l d i a g r a m a de c l a s e s , l as c lo se s e n e l s i st em a d e l e l e va d or y s u s r e l a ci o -n e s . L o s diagramas de c l as e s m o d e la n II I estructura d e u n s is te m a m e d ia n te l a descripcion d e s us clases 0 " b I D -q ue s d e constrnccion", La f igura 3 . 1 6 r ep re se n ta l a c la s e E le vad or. E n U M L, cuda c l a s e s e m o de la c om o u nrecuingulo c a n t re s c omp an im ic n to s , 6 1 c omp ar ti m l en t o s u pe r io r con tiene cl n ombre de l a c la se , E l c om p a rt i-mien to d e e n m ed ia con tiene lo s a t r i b u t u s (hablarcmos s ab re l os utr ibutos e n l as s ec ci on cs 4 .1 4 y 5 .1 1) . EIcompartimien to i n fe r io r con tiene la s o p e r a c i o n e s ( l a s cuales se describen en I n s e cc io n 6 .1 5) .

    La figura 3.17 m ues tra c om o se relac iona n nue stra s clase s C on du c toE le va do r , E lev ad or yBo to nP iso en tre sf . O b se rv e q u e l os r ec t a n gu l r s en e s te d i ag r am a no s e s u b di v id e n en compartimiemos,UM L p e rm i t e s u p rim i r lo s n t ri b ut o s y la s o pe ra ci on es d e I us c la s es en esta fo rma , p a ra c r ca r d i ag r amu s m as le-gib le s, S e d ic e q ue un d ia gra ma d e e ste tip o e s un d ia gr am a c on e le m en to s o m it id os ( e li d ed d i ag r a m ); undiagrama e n e l q u e cicr ta i n fo rmac ion , CO I I IO e l c o n te n id o d e l os compartimien tos s eg undo y tercero , no s e m o -d el n. C o lo ca re rn o s i nf or m ac io n e n e st es c o mp a rt im e nt os e n l as s e cc io nc s 4 .1 4 y 6 .15 , r c sp e c ti v amen te,

    E n la f i gu r n 3 .1 7 , u n a l in e a s o li da q u e c o ne c ta la s c l a se s r e p r esen ta un a a s o c i u c i o n . U na asociacion e s u n are lacion en t r e cluses, Lo s r u im e r os c o re a d e l ai >l l ne a s e x p re s a n lo s valores de muliip licidad , q u e i n di c an cutin -t o s o b je t os d e u na c l as e p a rt i ci p an en l a a so c i ac i o n , M e d ia n te e l d in g ra rn a p o de rn o s v er q u e d o s o b je to s d e lacluse Bot onP i s o partic ipan e n u na asociacion c on u n o bje to d e l a c l as e C on duc to Elev ad or, ya q ue lo sd o s b o to n es de p is o c s ta n l oc al iz ad o s e n e l c o nd uc to de l e lc va d or , P o r 1 0 t a nt o, l a clnse Bot onP i s o t iene un are lacion de do s [I un o c on l a clase C ond u c to E lev a do r; In clase Condu c t oE lev ado r t iene u n a r e l a ci 6 nde u no a d as co n l a c la se Bot onP i s o . T a m bi cn p od e rn o s v c r q u e II I clase Condu c t oE lev ado r t iene un are lacion de uno a LIllO c on la clase Elev ado r y v l ce v er s a. U t i li z an d o UM L p o de rn os r no d el ar m u ch os t i p o sde m u lt ip li ci da d. L a f ig ur e 3 .1 8 m u es tr a lo s t ipos de multip l ic idad y c om o represen tar los.

    U na a so c ia c io n p u ed e t en er un n om b re , P a r e je m pl o, l a p u la b ru S o lic i ta a rrib a de l a l fn e a q u e c o ne ct aa la s clases Bot onP i s o y E le va do r in dic a 01n o rn b r e de e sa a so c ia ci on ; l a f le c ha m u es tr a l a d ir ec c io n de lnornbre de I n a s o cia c lo n . E s ta pa r t e d el d ia gra m a s c l e e " d o g ob je tos de l u c la s e Bot onP i s o solici tan un ob jc-to d e I n clase E le va do r" . O bse rv e q ue lo s n ombre s de asociaciones v an e n I n m i sm a d i rc c c io n q ue i nd ic a l ap un ta d e I lechu qu e v u e n s eg u id a de l n om h re d e la nsociacion : pO l ' 10 t an t o , serfa i m p ro p io l e er , p O I 'ejemplo ,l a a so c i ac i o n a n te r io r c o m o "u n o b je to d e l a c la s e Elev ado r s ol ic it a d os o bj et os d e l u c l as c Bot onP i s o " .Adenuis, la palabra R esta ble ce in dic a q ue " un o bje to d e l a c la se Condu c t oE lev ado r rcstablcce a do >objetos de l a c la se B oto nP io o" . P ar u ltim o, la F ra se ; In dic a la lle ga da m u cs tr a q ue " un o b je t o d e Inclase E le va do r in dic a l a l le g a da d e l o b je t o E l le v a do r a un o bj et o d e l a c l as e Condu c t oE lev ado r" .

    Ade rn a s de ind icar r c la c io u e s s i m pl e s, I u s a s o c i uc i on e s pueden e sp e c i f i c a r r e lu c io n e s m a s c or np le ja s e ndonde lo s objctns de u n a c lu se e s ui n compu es t o s p o r o b jc t os de o t ra s c l as e s, Po r e j em p l o, c o n si d er e el c as o d e

    FIgura 3 . 1 6 R epre se nto cl6 n d e u na c lo se e n U ML .

    Restab lece,2

    F ig ura 3 .17 D la gro ma d e c lo se s qu e m u es tra la s a so cia cio ne s e nt re lo s c la se s.

    capITulo 3 In tro du cc l6 n a lo s cpplets d e J av a 97

    S imbo lo Slgnlficodo

    oI

    N i n g u n oU noU n v u lo r e n te roC c r o 0 un o

    III0 . . 1

    0.. '1 .. *

    1/1 allCu u n do me n os III, p er o n o m e no r q u e nC c r o 0 n u i sCcro 0 m asU no a m as

    Figura 3 .1 8 I lp os de mu l t lp l ic l d ad .u n e l ev a d or r ea l . i , Q u e " p ie z a s" r e il n e un f a b r i c a n t e pa ra construir un e l evudo r I un c io n a l ? La empresa q ue n o sp id io c on s tr ui r e s ta s im u la ci on n o s d i ce q ue e st e s i s t ema complete de e le v ad o r e s ul cornpuesto de un conduc-to d e elevador, do , botoncs de p is o, d os l uc es d os p ue rt as de p iso y u n c ar ro e le v ad o r, E I ca r ro elevador en sie s ni c om p ue s to de v ar ia s p ie z us , i nc lu y cn d o u n b ot 6n d e e le v ad or , u n a p u er ta d e e le v ad o r y u n t im b r e. A pa r -t ir d e csta des c r ip c ion , p od em o s v er q ue u n e le va do r l un ci on al e s a lg o c om p le jr , c on st ru id o a p a rt ir d e mucha sp iezus.

    Lo s d i c l l f l ( l I l l e s ' o e n l as l fneas d e l as a so c ia c io n es d e I I If i gu r a 3 .1 7 i n d i can qu e Condu c t oE lev ado r estac o n st r ui d o a p a r ti r d e o t ru s p i ez u s . L a r e la c io n d e no t ad a po r e s ta a s oc ia ci on s e l l ama agregacitil l : un Condu c t o -E lev ado r s e c re a al a g r e g u r , 0 r e un i r, v a ri o s o b je t os m a s p a ra p ro du ci r t od o u n C ond u c to E le va do r. L aa g re g a ci c n im p li c u un a re lacionen tre un todo /una p a r te . L a c la sc q u e t ie n e el simbolo de a gr eg ac io n e n s u e x-t r ema d e u na l fn ea de a so cl ac io n e s e l to d o ( en e s tc c as e , Condu c t oE lev ado r ) , y la c la se a l o t r o e x t rem ade la l in e a d e I II a sc ci ac io n e s I n p a rt e ( e n e st e c us o , la s clases Bot onP i s o y E lev ad orJ. E n e s t c d l ug ra r n a ,l a ag r egnc i o n i nd ic a q u e u n o b je t o d e I II cluse Condu c t oE lev ado r se c o m po n e d e d o s o b je t os de l a c l us eBot onP i s o y u n o b je t o d e l u clase E lle va do r. E I conducto de l e le vn d or " ti en e u n " e le va d or y d o s b ot on e sde p iso . La r el uc io n " ti en e u n" d e fi n e a In u g r e g n c i r i n .

    La f ig ur n 3 .1 9 m u es tr a e l d ia g ru m a de c l as c s c omp le t o p a ra e l m o de le d e l e le va d or , c on b as e e n la s re la-c iones e n tr e l os o bj et os q ue s e d es c nb ie ro n e n e l e n un ci ad o d el p rob lema . M o de la m os t od as I us c la se s qu eiden tif icamos, j un t o c a n I u s a s o c ia c io n e s e n tr e e s ta s c l as e s , [Nota: En cl cap i t u lo 10 expund ir emo s nu es t ro diu-g r ama de c l as e s, u t il i za n d o cl c o nc e p to o r ie n ta d o a objctos de l a h e r cn c iu . ]

    La clase Condu c t oE lev ado r es un a agregacion d e un objeto de l a c l as e Elev ado r y d e s o b je t os decuda u na d e la s cluses Luz, Pu er t aP i s o y Bo to nP is o. (O bse rv e la s r el ac io n es d e d os a u no e ntr e cadau na d e e s ta s c l as e s y C ond uc to Ele va do r.) L a clase Elev ado r es un a agregacion d e l a s c l a s e s P u e rt a-E le va do r, B oto nE le va do r y T im bre . L a c ln se P er so na tie ne a so cia cio ne s c on B oto nP ia o yBot onE lev ado r (y c o n o tm s e la se s, c o mo v er em o s p ro n to ). E I n o m b re d e a so c ia c i6 n O p ri m e y l a s t 1 e c h asd e d ir ec c i6 n d e e se n o m br e i nd ic a n q ue e l o b je to d e l a c la se P er so na o pd m c e sto s b oto ne s. E I o b je to d e l ac la se P erso na la mbie n sube a l o bje to d e IH d a se E le v ad o r y e m ni na a 10 l ar go d e l o bj et o de lu c lu s eP is o. E I n o m br e d e a so eia ci 6n S ol ie ! ta i nd ic a q u e u n o bje to d e l a c 1 us eB oto nP is o s ol ic ita u n o b je to d e l ac la se E le va do r. E I n o m br c de a so ci nc iti n I nd ic a q ue s e l ll ue va s eo ul u q u e e l o bje to d e l a c la se B oto n-E le va do r in dic a a l o bje lo d e l a c 1a sc E le va do r q ue se m ue va u l o tro p i so . 61 d i a gr a m a m u e st ra t am b i enmuchus o t m s a s o c i a ci o n e s .

    O b se rv e l a p a l ab ru pa sa je ro e n l a l in e a d e l a l ls oc ia c i6 n e n tr e P e rs on a y E le vad or . E ste e s u n l Iom-bre d e lVI, e l c u al id en tific a e l r ol q ue c l o bje to P erso na d es cm pe iiu e n su r cla eio n c an e l E l ev ad or. U nnOQ1b r ed e r o l a i i a d e s i g n if i c n d o u u na a so ei ac i6 n e ntr e d a se s. E n c s te c as o, c l n o mb re d e r a l p a sa j e ro i nd ic a

    2 0 . L n s , li ll m an t" ~ h u ec "s e n e ,t ns d la g ra m tl s d e c 1 as e s i n d ic a ll ll ll il a g re g ,l ci 6 n s im p le . L o s d iu m a ll ic s s 6 1 1d o s i nd ic ar fa n u n a f or -m i t s 6 li da d e a g re g ac l6 1 1 , c o no c id a c om o c o m pu s ic i6 n n ' lg re g uc i6 n c u m pu e sl a. H u b lu r em o s s o br e I n c o m p os ic io ll y I n c o m -p u r al 'e m u s c o n i tl ll s oc i ll C ia n s i m p le e n d c ap it ul o 8 .

  • 5/10/2018 03 - Introduccion a Los Applets de Java

    15/16

    98 ln troducclon a lo s app le ts de Ja va C c pff ul o 3

    ,Cam i n o010 la rgo

    . . . .Ma n ta

    Figura 3.19 D logrom a. de clo ses para el mode le d e l e l ev a do r ,

    que. c ua nd o u na Persona sube al Elevado r , es a per sona cs un pasajcro de l Eleva do r. P ara m u ch as d ela s a so cia cio ne s e n e s te d i ng ru m a d e c l as e s los n ombre s de ro l exp l f c i to s n o s on n ec es ar io s, y u q ue lo s sign if i -c ad es d e I us a so ci ac io ne s s on c l ar os s in e li as .

    A h o r u h e r n os i d e nt i ti c a do las c l a se s p a ra n u es t ro s i s tem a ( u u u qu e tal v e z d e sc u br a m os o t ra s e n I u s s ig u ie n -t es f us es d el p ro ce so d e d is ci io ). E n In se c c i o n t.l- t d e te rm in a r emo s los a tr ib ut os p ar a c ad a u na de e s t ", c l a se s ,y en I n s e cc i on 5 .1 1 u ti li z ar em o s e s te s u tr ib u to s para e x ar n in a r c o m o cambia el s i s tema c o n e l t ie r np o , y p a r ap r c scn u r sus a sp e c to s de l c om p nr ta m ie nt o, A m e di da qu e numen r emo s n ue s t r o conocimien to , ' d e scub r i r emo snueva i n f o rmac i o n q ue n os p e rm l ti n i d e s c ri b ir de man e ru ma s d e ta l ln d a a n u es t ra s c la s es ,Preguntas

    1. ! , Po r q u e p o dr fa SC I ' m d s c om p li ca dn i rn pl er nc nt ur u n e di fi ci o d e t re s pis os (0 mas) ?2 . E s c orr ui n q ue lo s c di fi ci os g ra nd es t cn ga n m u ch os c le va do re s. E n c l cap i tu lo 1 0 v e r em o s q ue , u na ve z

    qu c h a ya m o sc r ea d o u n o b je t o c le v ad o r, c s f ti ci l c r e a r t od os l os q ue q u e n un o s , i ,Q u e p roblemas u o p or -tun idades an tic ipa us te d e n c ua nt o a tener v a ri es e le v ad o rc s , c a da uno de lo s cuu l e s podrfa r e co ge r yd e sp a ch a r p as aj ero s e n c u al q ui er p i so , e n .un edif ic io grande?

    3. Po r c u es ti on e s d e s i m pl e za , h e m os dado a nues tro e le va do r y a c ad u p is o la c ap a c i d ad d e u n p a sa jc ro .! ,Que p roblemas y o po rtu nid ad es a ntic ip u u sie d e n c ua nto a te ne r q ue a urn en ta r e sta s c up ac id ad es ?

    R E S U M E N L os a pp le ts , s on p ro grm na s e n J av a q ue p uc de n i nc ms ta rs e e n d oc um cn to s H TM L (H yp erT ex t M ar ku p L an gu ag e, L en -g Ut lj e d e M a rc ad o d e H ip er te xl o) ( os d ed r, p ag in as W e b). C il un do u n t lu ve gu do r c ar ga u na p ,i gi na W e b q ue c on ti en e u na pp le t, e st c s o d e sc ar ga e n 0 1 na ve ga do r W e b y comicnza t1 ejecutar se .

    E n e l a pp le tv ie we r lis te d p ue de e jc clltn r u n a pp le t o tl 'll v ez , h ac ie nd o c lk e n e l m an ti S ub pro gra ma (A pp le t) d ela pp lE ltv ie we r y s cle cc io na nd o 0 1 ele mc nto d e m en u V olv er a c arg ar (R elo ad ). P ara te rm in ar lin a pp le t, sc le cc io -n e e l e l el ll cn to d e m en u S al lr (Q Ui t) .

    L a c la se Gra ph io s se c nc ue ntra e n 0 1 p