1. Applets Un applet es un programa en Java que corre en un navegador de Internet, que sea compatible con Java. Reside en el mismo servidor que el documento HTML y al igual que este viaja a travs de la red y corre como parte del documento. Metodos de los applets Los mtodos son los que se usan para arrancar !start" y detener !stop" la ejecuci#n del applet, para pintar !paint" y actuali$ar !update" la pantalla y para capturar la in%ormaci#n que se pasa al applet desde el %ic&ero HTML a travs de la marca '((L)T. init() )sta %unci#n miembro es llamada al crearse el applet. )s llamada s#lo una ve$. La clase 'pplet no &ace nada en init!". Las clases derivadas deben sobrecargar este mtodo para cambiar el tama*o durante su iniciali$aci#n, y cualquier otra iniciali$aci#n de los datos que solamente deba reali$arse una ve$. +eber,an reali$arse al menos las siguientes acciones- 1. .arga de im/genes y sonido 2. )l resi$e del applet para que tenga su tama*o correcto 3. 'signaci#n de valores a las variables globales desto!() )sta %unci#n destruye los recursos usados por el applet. La clase Applet no &ace nada en este mtodo. Las clases derivadas deber,an sobrecargarlo para &acer una limpie$a %inal. Los applet multit&read deber/n usar destroy!" para 0matar0 cualquier t&read del applet que quedase activo. stat() )ste mtodo contiene el cuerpo o lo que &ace el applet, es llamado luego de invocar a init!"y vada ve$ que vuelve a visitarse la pagina 1eb. La clase Applet no &ace nada en este mtodo. Las clases derivadas deber,an sobrecargarlo para comen$ar una animaci#n, sonido, etc. Tambin se puede utili$ar start!" para eliminar cualquier t&read que se necesite. stop() Llamada para detener el applet. 2e llama cuando el applet desaparece de la pantalla. La clase Applet no &ace nada en este mtodo. Las clases derivadas deber,an sobrecargarlo para detener la animaci#n, el sonido, etc. paint( Gap"i#s $ ) 2e llama cada ve$ que se necesita re%rescar el /rea de dibujo del applet. La clase Applet simplemente dibuja una caja con sombreado de tres dimensiones en el /rea. (ara repintar toda la pantalla cuando llega un evento (aint, se pide el rect/ngulo sobre el que se va a aplicar paint!" y si es m/s peque*o que el tama*o real del applet se invoca a repaint!", que como va a &acer un update!", se actuali$ar/ toda la pantalla. Los siguientes mtodos son tambin 3tiles para los programadores de applet- %pdate( Gap"i#s $ ) )sta es la %unci#n que se llama realmente cuando se necesita actuali$ar la pantalla. La clase Applet simplemente limpia el /rea y llama al mtodo paint!". )sta %uncionalidad es su%iciente en la mayor,a de los casos. +e cualquier %orma, las clases derivadas pueden sustituir esta %uncionalidad para sus prop#sitos. epaint() ' esta %unci#n se la deber,a llamar cuando el applet necesite ser repintado. 4o deber,a sobrecargarse, sino dejar que Java repinte completamente el contenido del applet. 'l llamar a repaint!", sin par/metros, internamente se llama a update!" que borrar/ el rect/ngulo sobre el que se redibujar/ y luego se llama a paint!". .omo a repaint!" se le pueden pasar par/metros, se puede modi%icar el rect/ngulo a repintar. esi&e( int 'idt"( int "ei$"t ) )l mtodo init!" deber,a llamar a esta %unci#n miembro para establecer el tama*o del applet. (uede utili$ar las variables anc&o y alto, pero no es necesario. .ambiar el tama*o en otro sitio que no sea init!" produce un re%ormateo de todo el documento y no se recomienda. E)e*plo+ (odemos utili$ar paint!" para imprimir nuestro mensaje de bienvenida- import java.a1t.56 import java.applet.56 public class 7ra%ica e8tends 'pplet 9 public void paint!7rap&ics g" 9 :ont % ; ne1 :ont!0Ta&oma0,<,=>"6 .olor col ; ne1 .olor!?>>, >, >"6 set@acAground!col"6 Lenguaje de PorgramacionII g.set:ont!%"6 g.set.olor!.olor.yello1"6 g.dra12tring!0Belcome to JavaCC0, D>, <>> "6 E E ,a #lase Font (ara de%inir un nuevo objeto :ont debemos indicarle tres valores- )l tipo de %uente, esta es una constante string que indica el tipo utili$ado. )l estilo de la letra, este es un valor entero que puede ser- > - (lain < - @old ? - italic )l tama*o de la letra en pi8els, este es un valor entero. (ara de%inir y crear un objeto :ont debes escribir instrucciones como las siguientes- :ont %6 % ; ne1 :ont!0Helvetica0,<,?F"6 4ota- es necesario que el nombre del tipo de %ont este entre comillas. ,a #lase Colo (ara de%inir un nuevo objeto .olor, debemos indicarle tres valores enteros entre > y ?DD- )l primero indica la cantidad de componente Rojo. )l segundo indica la cantidad de componente Gerde. )l tercero indica la cantidad de componente '$ul. La me$cla de estos tres componentes %orman el color resultante, a esta tcnica se le conoce como color R7@ !por Red, 7reen y @lue". (ara de%inir y crear un objeto .olor debes escribir instrucciones como las siguientes- .olor c6 c ; ne1 .olor!?DD,<?F,=>"6 ,a #lase Gap"i#s La clase 7rap&ics es una clase ya de%inida en el lenguaje Java que se encarga de reali$ar las operaciones de dibujo sobre las ventanas de la aplicaci#n. Hay otras dos clases que colaboran con 7rap&ics para de%inir los atributos de dibujo, estas son- La clase :ont, que de%ine las caracter,sticas del tipo de letra. La clase .olor, que de%ine el color con el que se va a dibujar. (ara de%inir y crear un objeto 7rap&ics debes escribir instrucciones como las siguientes- 7rap&ics g6 g ; ne1 7rap&ics! "6 Los mtodos de la clase 7rap&ics son- set:ont! % " +onde % es una variable objeto de la clase :ont. .ambia el atributo de tipo de letra del objeto gr/%ico. set.olor! c " +onde c es una variable objeto de la clase .olor. .ambia el atributo color del objeto gr/%ico, de tal manera que en las operaciones de dibujo siguientes utilice el color c. dra12tring! letrero, 8, y " +onde letrero es una constante string !0debe escribirse entre comillas0" y 8,y es la posici#n donde se dibujar/ el letrero. dra1Line!8<,y<,8?,y?" +onde 8<, y<, 8?, y? son valores enteros. +ibuja una l,nea del punto !8<,y<" al punto !8?,y?". dra1Rect!8,y,an,al" +ibuja el borde de un rect/ngulo que inicia en el punto !8,y" y tiene un anc&o an y una altura al. %illRect!8,y,an,al" +ibuja un rect/ngulorelleno que inicia en el punto !8,y" y tiene un anc&o an y una altura al. dra1Hval!8,y,an,al" +ibuja el borde de un #valo de%inido por el rect/ngulo descrito por el punto !8,y" y un Lenguaje de PorgramacionII anc&o an y una altura al. 2i se quiere dibujar un c,rculo, los valores an !anc&o" y al !alto" deber/n ser iguales. %illHval!8,y,an,al" +ibuja un #valo relleno de%inido por el rect/ngulo descrito por el punto !8,y" y un anc&o an y una altura al. 2i se quiere dibujar un c,rculo, los valores an !anc&o" y al !alto" deber/n ser iguales. dra1RoundRect!8,y,an,al,a<,a?" +ibuja el borde de un rect/ngulo con las esquinas redondeadas, el cual inicia en el punto !8,y" y tiene un anc&o an y una altura al. La redonde$ de la %igura est/ determinada por el anc&o del arco a<y por la altura del arco a?. %illRoundRect!8,y,an,al,a<,a?" +ibuja un rect/ngulo relleno con las esquinas redondeadas, el cual inicia en el punto !8,y" y tiene un anc&o any una altura al. La redonde$ de la %igura est/ determinada por el anc&o del arco a<y por la altura del arco a?. dra1I+Rect!8,y,an,al,b" +ibuja un rect/ngulo tridimensional que inicia en el punto !8,y" y tiene un anc&o an y una altura al. )l rect/ngulo esta elevado cuando b !boolean" es true y &undido cuando b es %alse. %illI+Rect!8,y,an,al,b" +ibuja un rect/ngulo tridimensional relleno que inicia en el punto !8,y" y tiene un anc&o an y una altura al. )l rect/ngulo esta elevado cuando b !boolean" es truey &undido cuando b es %alse. dra1'rc!8,y,an,al,angi,ang%" +ibuja un arco que inicia en el punto !8,y" y tiene un anc&o an y una altura al. )l segmento del arco se dibuja desde el /ngulo inicial !angi" &asta el /ngulo %inal del arco !ang%". %ill'rc!8,y,an,al,angi,ang%" +ibuja un arco con relleno que inicia en el punto !8,y" y tiene un anc&o an y una altura al. )l segmento del arco se dibuja desde el /ngulo inicial !angi" &asta el /ngulo %inal del arco !ang%". dra1(olygon!8<J K,y<J K,p" +ibuja un pol,gono de p puntos. La coordenada 8 de cada punto se especi%ica en el arreglo 8<JK y la coordenada y se especi%ica en el arreglo y<JK. %ill(olygon!8<J K,y<J K,p" +ibuja un pol,gono relleno de p puntos. La coordenada 8 de cada punto se especi%ica en el arreglo 8<JK y la coordenada y se especi%ica en el arreglo y<JK. NOTA+ +onde 8, y, an, al, a<, a?, angi, ang%, 8<JK, y<JK, p son valores enteros. Otos M-todos s&o12tatus!te8to", e8&ibe el te8to en la barra de estado. set@acAground!col", donde col es un objeto de la clase .olor, permite establecer un color al applet 2. ,a!o%ts (*ane)adoes de #o*posi#i.n) Los layout managers o manejadores de composici#n, ayudan a adaptar los diversos .omponentes que se desean incorporar a un (anel, es decir, especi%ican la apariencia que tendr/n los .omponentes sobre un .ontenedor. Tenemos- Flo',a!o%t+ +eposita componentes en %orma parecida a como se organi$a las palabras en una p/gina, de i$quierda a derec&a &asta que ya no &aya espacio, y contin3a en el regl#n siguiente. 2i se desea variar la alineaci#n de los componentes se utili$a, :lo1Layout.L):T, :lo1Layout.RI7HT, :lo1Layout..)4T)R. import java.a1t.56 import java.applet.'pplet6 public class '1t:lo1 e8tends 'pplet 9 @utton boton<,boton?,botonI6 public void init!" 9 boton< ; ne1 @utton! 0'ceptar0 "6 boton? ; ne1 @utton! 0'brir0 "6 botonI ; ne1 @utton! 0.errar0 "6 add! boton< "6 add! boton? "6 add! botonI "6 E Lenguaje de PorgramacionII E /ode,a!o%t+ +ivide el contenedor en D secciones, norte, sur, este oeste y centro. import java.a1t.56 import java.applet.'pplet6 public class '1t@ord e8tends 'pplet 9 @utton boton4,boton2,boton),botonH,boton.6 public void init!" 9 setLayout! ne1 @orderLayout!" "6 boton4 ; ne1 @utton! 04orte0 "6 boton2 ; ne1 @utton! 02ur0 "6 boton) ; ne1 @utton! 0)ste0 "6 botonH ; ne1 @utton! 0Heste0 "6 boton. ; ne1 @utton! 0.entro0 "6 add! 04ort&0,boton4 "6 add! 02out&0,boton2 "6 add! 0)ast0,boton) "6 add! 0Best0,botonH "6 add! 0.enter0,boton. "6 E E Gid,a!o%t+ 'comoda los componentes dentro de una cuadr,cula de reglones y columnas. import java.a1t.56 import java.applet.'pplet6 public class '1t7rid e8tends 'pplet 9 @utton boton<,boton?,botonI,boton=,botonD,botonF6 public void init!" 9 setLayout! ne1 7ridLayout! I,? " "6 boton< ; ne1 @utton! 0<0 "6 boton? ; ne1 @utton! 0?0 "6 botonI ; ne1 @utton! 0I0 "6 boton= ; ne1 @utton! 0=0 "6 botonD ; ne1 @utton! 0D0 "6 botonF ; ne1 @utton! 0F0 "6 add! boton< "6 add! boton? "6 add! botonI "6 add! boton= "6 add! botonD "6 add! botonF "6 E E 3. ,istenes (o!entes) )s una inter%a$ que permite LsentirM los eventos que se reali$an en un applets o aplicaci#n. (ara %acilitar estas necesarias implementaciones el paquete java.a1t.events provee un conjunto de clases que LimplementanM todos los mtodos de las inter%aces Listeneres para eventos de bajo nivel, de manera que solo sea necesario crear subclases que sobrescriban solo los mtodos deseados. )vento Listener Mtodo 'ction)vent 'ctionListener 'ction(er%ormed!" 'djustement)vent 'djustementListener 'djustementGalue.&anged!" Lenguaje de PorgramacionII .omponent)vent .omponentListener .omponentHidden!", componentMoved!", componentResi$ed!", .omponent2&o1n!" .ontainer)vent .ontainerListener .omponent'dded!", componentRemoved!" :ocus)vent :ocusListener :ocus7ained!", %ocusLost!" Item)vent ItemListener Item2tate.&anged!" Ney)vent NeyListener Ney(ressed!", AeyReleased!", AeyTyped!" Mouse)vent MouseListener Mouse.licAed!", mouse)ntered!", mouse)8ited!", mouse(ressed!", mouseReleased!" MouseMotionListener Mouse+ragged!", mouseMoved!" Te8t)vent Te8tListener Te8tGalue.&anged!" Bindo1)vent Bindo1Listener Bindo1.losing!", 1indo1Iconi%ied!", 1indo1+eiconi%ied!", 1indo1Hpened!", 1indo1'ctivated!", 1indo1+eactivated!", 1indo1.losed!", 4. A0T A1sta#t 0indo'in$ Tool2it )l 'BT se trata de una biblioteca de clases Java !java.a1t" para el desarrollo de Inter%aces de Usuario 7r/%icas !7UI". )l entorno que o%rece es demasiado simple, no se &an tenido en cuenta las ideas de entornos gr/%icos novedosos, sino que se &a a&ondado en estructuras orientadas a eventos. La estructura b/sica del 'BT se basa en .omponentes y .ontenedores. )stos 3ltimos contienen .omponentes y son .omponentes a su ve$. )l 'BT es independiente de la plata%orma en que se ejecute, pero tiene la desventaja de que una inter%ace gr/%ica dise*ada para una plata%orma, puede no visuali$arse correctamente en otra di%erente. Co*ponentes ! Contenedoes Una inter%ace gr/%ica est/ construida en base a elementos gr/%icos b/sicos, que son los .omponentes. T,picos ejemplos de estos .omponentes son los botones, barras de despla$amiento, etiquetas, listas, cajas de selecci#n o campos de te8to. Los .omponentes permiten al usuario interactuar con la aplicaci#n y proporcionar in%ormaci#n desde el programa al usuario sobre el estado del programa. )n el 'BT, todos los .omponentes de la inter%ace de usuario son instancias de la clase .omponent o uno de sus subtipos. Los .omponentes no se encuentran aislados, sino agrupados dentro de .ontenedores. Los .ontenedores contienen y organi$an la situaci#n de los .omponentes6 adem/s, los .ontenedores son en s, mismos .omponentes y como tales pueden ser situados dentro de otros .ontenedores. )n el 'BT, todos los .ontenedores son instancias de la clase .ontainer o uno de sus subtipos. Clases del pa3%ete )a4a.a't .omponent @utton !bot#n", acepta un clic para ejecutar una acci#n. .&ecA@o8 !.aja de selecci#n inclusiva", representa el estado de una variable logica !boolean". .&oice !.ampo de lista", usada para seleccionar una de muc&as opciones especi%icadas con cadenas de te8to. Label !)tiqueta", visuali$a un te8to. List !Lista", usada para seleccionar una o mas opciones especi%icadas con cadenas de te8to. 2croll@ar !barrido de total", usada para representar un valor numrico acotado, que a su ve$ representa parte de un componente que es visible en un contenedor. Te8t.omponent !.omponentes de te8to", clase que contiene componentes de te8to. Te8t:ield !.ampo de Te8to", edita un te8to en una sola l,nea. Te8t'rea !'rea de te8to", soporta m3ltiples l,neas. .ontainer !.ontenedores", es un componente que puede contener a otros componentes. (anel, usado para agrupar componentes en areas especi%icas de la pantalla. 2croll(ane, una %orma de panel que permite elementos &ijos de mayores dimensiones que el propio 2croll(ane, en este caso requiere de scrollbars &ori$ontales yOo verticales. 'pplet, tiene propiedades adicionales a la clase (anel e implementaciones en bro1sers. Bindo1, representa una ventana sin barra de t,tulo ni borde. :rame, provee la %uncionalidad de una ventana en el sistema operativo nativo, con la e8cepcion que no es posible acceder al &adle o (I+. Lenguaje de PorgramacionII +ialog, representa una ventana mostrada por corto tiempo o que requiere in%ormaci#n de transici#n. :ile+ialog, es una clase especial de +ialog para requerir del usuario un nombre de arc&ivoo ruta de acceso. Menu.omponent, clase abstracta de donde derivan todas las clases para asociar menus a otros componentes. Menu@ar- encapsula el concepto de men3 asociado a un :rame. MenuItem- es uan clase para crear los objetos que ser/n los items de cada men3. Clase /%tton @utton!" .onstructor @utton!2tring te8to" .onstructor setLabel!2tring te8to" .oloca un te8to como etiqueta del bot#n getLabel!2tring te8to" Hbtiene te8to de la etiqueta del bot#n como cadena setGisible!boolean e" e ; true visible, %alse invisible set)nabled!boolean e" e ; true &abilitado, %alse des&abilitado Clase C"e#21o5 .&ecAbo8!" .onstructor .&ecAbo8!2tring cadena" .onstructor .&ecAbo8!2tring cadena, .&ecAbo87roup radio, boolean estado" .onstructor set.&ecAbo87roup!.&ecAbo87roup grupo" )stablece el grupo al que pertenece get2tate!" Hbtiene estado de la casilla como true o %alse setLabel!2tring te8to" .oloca te8to a la casilla set2tate!boolean e" e ; true elegido, %alse no elegido Clase C"e#21o5Go%p .&ecAbo87roup!" .onstructor get.urrent!" Hbtiene el c&ecA actual activo set.urrent!.&ecAbo8 opcion" )stablece al c&ecA opci#n la activa Clase C"oi#e .&oice!" .onstructor addItem!2tring te8to" 'grega un te8to como opci#n al objeto getItem!int posicion" Hbtiene el ,tem de la posici#n indicada get2electedItem!" Hbtiene el ,tem seleccionado como te8to get2electedInde8!" Hbtiene el ,ndice del ,tem seleccionado select!int posicion" 2elecciona el ,tem de la posici#n select!2tring te8to" 2elecciona el ,tem del te8to indicado remove!int posicion" )limina el ,tem correspondiente a la posici#n indicada remove'll!" )limina todos los ,tems, quedando vac,o el objeto getItem.ount!" countItems!" Hbtiene el n3mero de ,tems Clase ,a1el Label!" .onstructor Label!string te8to" .onstructor moveTo!int 8, int y" Mueve el letrero a la posici#n 8, y. si$eTo!int anc&o, int alto" .ambia el tama*o del letrero. getTe8t!" Hbtiene te8to de la etiqueta como cadena Lenguaje de PorgramacionII setTe8t!" .oloca te8to en la etiqueta set'lignment!int 8" 8 ; > i$quierda, < centro, ? derec&a set@acAground!.olor c" )stablece el color para el %ondo de la etiqueta set:oreground!.olor c" )stablece el color para el te8to de la etiqueta setGisible!boolean e" e ; true visible, %alse invisible Clase ,ist List!" .onstructor List!int %ilas, boolean multiple" .onstructor addItem!2tring te8to" 'diciona un ,tem en la posici#n indicada get2electedItem!" Hbtiene el ,tem seleccionado como cadena getItem!int pos" Hbtiene el ,tem de la posici#n indicada get2electedInde8!" Hbtiene el ,ndice del ,tem seleccionado como entero getItem!int posicion" Hbtiene el ,tem correspondiente a la posici#n indicada select!int posicion" 2elecciona al ,tem de la posici#n indicada remove!int posicion" )limina el ,tem correspondiente a la posici#n indicada remove'll!" )limina todos los ,tems, quedando vac,o el objeto getItem.ount!" countItem!" Hbtiene el n3mero de ,tems vigentes Clase S#oll/a 2crollbar!" .onstructor 2crollbar!int orientaci#n" .onstructor 2crollbar!int orientaci#n, int vinicial, areavisible, int vminimo, int vma8imo" .onstructor getGalue!" Hbtiene el valor actual de la barra de despla$amiento setGalue!int valor" .oloca el valor actual de la barra de despla$amiento getUnitIncrement!" Hbtiene unidad de variaci#n de la barra setUnitIncrement!int valor" .oloca valor de la unidad de variaci#n get@locAIncrement!" Hbtiene bloque de variaci#n de la barra set@locAIncrement!int valor" .oloca valor del bloque de variaci#n Clase Te5tField Te8t:ield!" .onstructor Te8t:ield!2tring te8to" .onstructor Te8t:ield!string te8to, int tama*o" .onstructor getTe8t!" Hbtiene el te8to del objeto como cadena set:ont!:ont %" +etermina un estilo de %uente!negrita, cursiva" setTe8t!2tring te8to" .oloca un te8to en el objeto setGisible!boolean e" e ; true visible, %alse invisible set)nabled!boolean e" e ; true &abilitado, %alse des&abilitado set)ditable!boolean e" e ; true puede ser editado, %alse no set@acAground!.olor c" )stablece el color para el %ondo del objeto set:oreground!.olor c" )stablece el color para el te8to del objeto set)c&o.&ar!c&ar c&" )stablece un car/cter como mascara de escritura. )jem. P5Q para un pass1ord Clase Te5tAea Te8t'rea!int %ilas, int columnas" .onstructor Te8t'rea!2tring te8to, int %ilas, int columnas" .onstructor Lenguaje de PorgramacionII setTe8t!2tring te8to" .oloca un te8to en el objeto borando lo que &abia append!2tring te8to" 'grega un te8to al costado de lo que ya e8ista setGisible!boolean e" e ; true visible, %alse invisible set)ditable!boolean e" e ; true puede ser editado, %alse no set@acAground!.olor c" )stablece el color para el %ondo del objeto set:oreground!.olor c" )stablece el color para el te8to del objeto Clase 6anel (anel!" .onstructor set@acAground!.olor c" )stablece color de %ondo del objeto add!Hbject ob" 'grega objetos al panel E)e*1- 'pplet que permite sumar ? n3meros enteros ingresados por medio de campos de te8to. pacAage varios6 import java.a1t.56 import java.applet.56 import java.a1t.event.56 public class )jem< e8tends java.applet.'pplet implements 'ctionListener9 @utton btn2umar, btn@orrar6 Label lbln<, lbln?, lblRespuesta6 Te8t:ield t8tn<, t8tn?, t8tRespuesta6 public void init!" 9 setLayout!null"6
btn@orrar;ne1 @utton!0@orrar0"6 btn@orrar.set@ounds!=D>,<S>,T>,?I"6 btn@orrar.add'ctionListener!t&is"6 add!btn@orrar"6 E public void paint!7rap&ics g" 9 E public void action(er%ormed!'ction)vent e "9 i% !e.get2ource!";;btn2umar" suma!"6 i% !e.get2ource!";;btn@orrar" borrar!"6 E public void suma!"9 int n<, n?, s6 n<;Integer.parseInt!t8tn<.getTe8t!""6 n?;Integer.parseInt!t8tn?.getTe8t!""6 s;n<Rn?6 t8tRespuesta.setTe8t!00Rs"6 E public void borrar!"9 t8tn<.setTe8t!00"6 t8tn?.setTe8t!00"6 t8tRespuesta.setTe8t!00"6 t8tn<.request:ocus!"6 E E Lenguaje de PorgramacionII E)e*7- 'plica un estilo y color a un te8to ingresado, usando .&ecAbo8 y .&ecAbo87roup. import java.a1t.56 import java.applet.56 import java.a1t.event.56 public class )jem? e8tends java.applet.'pplet implements 'ctionListener9 Te8t:ield te8to6 Label lblte8to6 .&ecAbo87roup bgr.olor6 .&ecAbo8 c&A@old, c&AItalic, c&A.olor<, c&A.olor?, c&A.olorI6 @utton btn'ceptar, btn@orrar6 public void init!" 9 setLayout!null"6 lblte8to;ne1 Label!0Ingrese Te8to-0"6 lblte8to.set@ounds!D>,=>,U>,?I"6 add!lblte8to"6 te8to;ne1 Te8t:ield!"6 te8to.set@ounds!<D>,=>,?>>,?I"6 add!te8to"6 c&A@old;ne1 .&ecAbo8!04egrita0"6 c&A@old.set@ounds!D>,SD,S>,?I"6 add!c&A@old"6 c&AItalic;ne1 .&ecAbo8!0.ursiva0"6 c&AItalic.set@ounds!D>,<<D,S>,?I"6 add!c&AItalic"6 bgr.olor;ne1 .&ecAbo87roup!"6
btn@orrar;ne1 @utton!0@orrar0"6 btn@orrar.set@ounds!?D>,<?>,T>,?I"6 btn@orrar.add'ctionListener!t&is"6 add!btn@orrar"6 Lenguaje de PorgramacionII E public void action(er%ormed!'ction)vent e "9 i% !e.get2ource!";;btn'ceptar"9 estilo!"6 color!"6 E i%!e.get2ource!";;btn@orrar"9 borrar!"6 E E public void estilo!"9 :ont %6 int b, i6 i%!c&A@old.get2tate!";;true" b;:ont.@HL+6 else b;:ont.(L'I46 i%!c&AItalic.get2tate!";;true" i;:ont.IT'LI.6 else i;:ont.(L'I46
%;ne1 :ont!0Ta&oma0, bRi, <?"6 te8to.set:ont!%"6 E public void color!"9 .olor col6 i%!c&A.olor<.get2tate!";;true" col;ne1 .olor!?>>,>,>"6 else i%!c&A.olor?.get2tate!";;true" col;ne1 .olor!>,?DD,>"6 else col;ne1 .olor!>,>,?DD"6 te8to.set:oreground!col"6 E public void borrar!"9 te8to.setTe8t!00"6 c&A@old.set2tate!%alse"6 c&AItalic.set2tate!%alse"6 c&A.olor<.set2tate!true"6 c&A.olor?.set2tate!%alse"6 c&A.olorI.set2tate!%alse"6 te8to.set:ont!ne1 :ont!0Ta&oma0, >, <?""6 te8to.set:oreground!.olor.blacA"6 te8to.request:ocus!"6 E E Lenguaje de PorgramacionII E8ERCICIOS <. .onstruir un programa que calcule el importe total a pagar por un servicio de :a8 se sabe que por cada envi# de p/gina a nivel local el costo es 2O.<.D>, a nivel nacional 2O.I.D>, y a nivel internacional 2O.T.>>. )M(L)'R- Label- 4V de %a8, .ant. +e p/ginas, +estino, Importe. Te8t:ield- %a8, paginas, importe .&ecAbo87roup- Local, 4acional, Internacional. @utton- 'ceptar, @orrar. ?. .alcular el promedio %inal y su condici#n de un alumno. )l sistema de evaluci#n consiste en tomar I practicas cali%icadas y dos e8/menes. )l promedio se calcula eliminando la practica con menor cali%icaci#n, as, mismo la condici#n del alumno ser/ la siguiente- (romedio .ondici#n <T W ?> <= W <F << W <I > W <> )8celente @ueno Regular Malo )M(L)'R- Label- 4ombre del alumno, (ractica<, (ractica?, (ractica=, ). (arcial, ). :inal, (romedio, .ondici#n. Te8t:ield- p<, p?, pI, ep, e%, prom, cond. @utton- (romediar, 4uevo. I. )n un supermercado se reali$a una promoci#n, mediante la cual el cliente obtiene un descuento dependiendo de un n3mero que se escoge al a$ar !entre < y <>>". 2i el n3mero escogido es menor que D= el descuento es del <DX sobre el total de la compra, si es mayor o igual a D= el descuento es del ?>X. +ise*e un programa que determine cuanto dinero se le debe descontar a un cliente. )M(L)'R- Label- Ingresar compra, 43mero generado. Te8t:ield- compra, n3mero generado, c/lculos @utton- 7enerar n3mero, 'ceptar, @orrar. =. .onstruir un programa que calcule el importe total a pagar por un servicio de Reparto de correspondencias, la $ona de reparo esta dividido en I /reas- 4orte, 2ur y .entro, de esta manera las tari%as var,an en 2O.>.DD, 2O.>.FT y 2O.>.SU por cada gramo que pesa el sobre. )M(L)'R- Label- Yona de reparto, Importe por grama, (eso. Te8t:ield- importe, peso .&oice- Yonas !norte, sur, centro" @utton- 'ceptar, 4uevo.