You are on page 1of 12

Lenguaje de PorgramacionII

INTERFACES GRFICAS DE USUARIO GUI


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

lbln<;ne1 Label !0Ingresar <er numero0"6
lbln<.set@ounds !F>,<I>,?>>,=>"6
lbln<.set:ont!ne1 :ont !0'rial0, :ont.@HL+R:ont.IT'LI.,?>""6
add!lbln<"6

t8tn<;ne1 Te8t:ield!"6
t8tn<.set@ounds !I>>,<I>,<I>,I>"6
t8tn<.request:ocus!"6
add!t8tn<"6

lbln?;ne1 Label !0Ingresar ?do numero0"6
lbln?.set@ounds !F>,<S>,?>>,=>"6
lbln?.set:ont!ne1 :ont !0'rial0, :ont.@HL+R:ont.IT'LI.,?>""6
add!lbln?"6

t8tn?;ne1 Te8t:ield!"6
t8tn?.set@ounds !I>>,<S>,<I>,I>"6
t8tn?.request:ocus!"6
add!t8tn?"6

lblRespuesta;ne1 Label !0Resultado0"6
lblRespuesta.set@ounds !F>,?I>,?>>,=>"6
lblRespuesta.set:ont!ne1 :ont !0'rial0, :ont.@HL+R:ont.IT'LI.,?>""6
add!lblRespuesta"6

t8tRespuesta;ne1 Te8t:ield!"6
Lenguaje de PorgramacionII
t8tRespuesta.set@ounds !I>>,?I>,<I>,I>"6
t8tRespuesta.request:ocus!"6
t8tRespuesta.set)nabled!%alse"6
add!t8tRespuesta"6

btn2umar;ne1 @utton!02umar0"6
btn2umar.set@ounds!=D>,<I>,T>,?I"6
btn2umar.add'ctionListener!t&is"6
add!btn2umar"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

c&A.olor<; ne1 .&ecAbo8!0Rojo0, true, bgr.olor"6
c&A.olor<.set@ounds!<D>,SD,U>,?I"6
add!c&A.olor<"6
c&A.olor?;ne1 .&ecAbo8!0Gerde0, %alse, bgr.olor"6
c&A.olor?.set@ounds!<D>,<<D,U>,?I"6
add!c&A.olor?"6
c&A.olorI;ne1 .&ecAbo8!0'$ul0, %alse, bgr.olor"6
c&A.olorI.set@ounds!<D>,<=D,U>,?I"6
add!c&A.olorI"6

btn'ceptar;ne1 @utton!0'ceptar0"6
btn'ceptar.set@ounds!?D>,S>,T>,?I"6
btn'ceptar.add'ctionListener!t&is"6
add!btn'ceptar"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.

You might also like