Está en la página 1de 5

EJERCICIO GUIADO.

JAVA: TOGGLEBUTTONS
1. Realiza un nuevo proyecto.
2. Crears una ventana como la que sigue teniendo en cuenta lo siguiente:
a. Se aadir una etiqueta con el texto recio
!ase". #o $ace %alta cam&iarle su nom&re.
&. Se aadir un cuadro de texto llamado
txtrecio!ase.
c. Se crear un &ot'n Calcular"( llamado
&tnCalcular.
d. Se crear una etiqueta vac)a y con &orde
llamada eti*otal. +se la propiedad font de esta
etiqueta para $acer que el texto tenga un
mayor tamao.
e. ,e&es aadir tam&i-n tres &otones( con el
texto .nstalaci'n"( /ormaci'n" y
0limentaci'n !," respectivamente.
1stos &otones no son &otones normales( son
&otones del tipo 2*oggle!utton. +sa este tipo
de o&3eto para crearlos.
1stos &otones( se di%erencian de los &otones
normales en que se quedan pulsados cuando
se $ace un clic so&re ellos( y no vuelven a su
estado normal $asta que no se vuelve a $acer
clic so&re ellos.
4os tres &otones se llamarn respectivamente: t&tn.nstalacion( t&tn/ormacion(
t&tn0limentacion!,.
%. 0ade %inalmente tres etiquetas conteniendo los n5meros 67( 277( 277. 4a
primera se llamar etirecio.nstalacion( la segunda etirecio/ormacion y la
tercera etirecio0limentacion!,.
8. rue&a el programa y comprue&a el %uncionamiento de los &otones 2*oggle!utton:
6. Se pretende que el programa %uncione de la siguiente %orma:
a. 1l usuario introducir un precio &ase para el servicio que se vende.
&. 0 continuaci'n( si el cliente quiere la instalaci'n( activar el &ot'n .nstalaci'n.
c. Si el cliente quiere la %ormaci'n( activar el &ot'n /ormaci'n.
d. Si el cliente quiere la 0limentaci'n de !ase de ,atos( activar el &ot'n
0limentaci'n !,.
e. *en en cuenta que el cliente puede querer una o varias de las opciones
indicadas.
%. /inalmente se pulsar el &ot'n calcular y se calcular el precio total. 1ste
precio se calcula de la siguiente %orma:
recio *otal 9 recio !ase : recio 1xtras.
1l precio de los 1xtras depender de las opciones elegidas por el usuario. or
e3emplo( si el usuario quiere .nstalaci'n y /ormaci'n( los extras costarn 267
euros.
;. 0s) pues( se programar el actionPerformed del &ot'n Calcular de la siguiente %orma:
<&serva como al pulsar los
2*oggled!utton estos se quedan
pulsados.
Si se vuelven a activar se despulsan".
double precio_base;
double precio_instal; //precio instalacin
double precio_for; //precio formacion
double precio_ali; //precio alimentacion

//Recojo datos desde la ventana:

precio_base = Double.parseDouble(txtPrecioase.!et"ext(##;
precio_instal = Double.parseDouble(etiPrecio$nstalacion.!et"ext(##;
precio_for = Double.parseDouble(etiPrecio%ormacion.!et"ext(##;
precio_ali = Double.parseDouble(etiPrecio&limentacionD.!et"ext(##;

//&'ora (ue ten!o los datos) puedo 'acer c*lculos.

//&l precio base se le van a+adiendo precio de extras
//se!,n est-n o no activados los ."o!!leuttons

double precio_total;

precio_total = precio_base;

if (tbtn$nstalacion.is/elected(## 0 ///i se seleccion instalacin
precio_total = precio_total1precio_instal;
2

if (tbtn%ormacion.is/elected(## 0 ///i se seleccion formacin
precio_total = precio_total1precio_for;
2

if (tbtn&limentacionD.is/elected(## 0 ///i se seleccion &limentacin D
precio_total = precio_total1precio_ali;
2


//%inalmente pon!o el resultado en la eti(ueta
eti"otal.set"ext(precio_total13 43#;
=. >eamos una explicaci'n del c'digo:
a. rimero se crean varia&les dou&les ?ya que se admitirn decimales@ para
poder $acer los clculos.
&. Se extraern los datos de la ventana y se almacenarn en dic$as varia&les.
ara ello( $ay que convertir desde cadena a dou&le:
precio_base = Double.parseDouble(txtPrecioase.!et"ext(##;
precio_instal = Double.parseDouble(etiPrecio$nstalacion.!et"ext(##;
precio_for = Double.parseDouble(etiPrecio%ormacion.!et"ext(##;
precio_ali = Double.parseDouble(etiPrecio&limentacionD.!et"ext(##;
c. +na vez o&tenidos los datos en %orma num-rica( ya se pueden $acer clculos
con ellos. 1l programa declara una nueva varia&le precio_total donde se
introducir el resultado. 1n primer lugar se introduce en esta varia&le el precio
&ase.
double precio_total;

precio_total = precio_base;
d. 0 continuaci'n se le suma al precioAtotal los precios de los extras si el &ot'n
correspondiente est seleccionado. 1sto se $ace a trav-s de i%. or e3emplo(
para sumar el extra por instalaci'n:
if (tbtn$nstalacion.is/elected(## 0 ///i se seleccion instalacin
precio_total = precio_total1precio_instal;
2
1sto signi%ica: Si el &ot'n instalaci'n est seleccionado( aade al precio total
el precio por instalaci'n"
<&serva el uso del m-todo isSelected para sa&er si el &ot'n t&tn.nstalacion $a
sido seleccionado.
e. /inalmente el resultado se muestra en la etiqueta de total.
B. Comprue&a el %uncionamiento del programaC
D. Supongamos que normalmente ?en el E7 por ciento de los casos@ la instalaci'n es
solicitada por el usuario. odr)a ser interesante que el &ot'n .nstalaci'n ya saliera
activado al e3ecutarse el programa. ara ello( aade en el Constructor la siguiente
l)nea.
tbtn$nstalacion.set/elected(true#;
1sta l)nea usa el m-todo setSelected para activar al &ot'n t&tn.nstalaci'n.
Comprue&a esto e3ecutando el programa.
.ntroduce una cantidad ?usa el punto
para los decimales@
Selecciona los extras que desees.
ulsa Calcular y o&tendrs el resultado.
CONCLUSIN
Los JToggleButton son botones que pueen que!"se puls!os.
A t"!#$s el %$too &sSele'te poe%os s!be" s& un JToggleButton est(
sele''&on!o.
T!%b&$n puees us!" el %$too setSele'te p!"! sele''&on!" o no un bot)n e este
t&po.
Re!l%ente* estos botones no suelen se" %u+ us!os* +! que pueen se" sust&tu&os
po" Cu!"os e Ve"&,&'!'&)n -JC.e'/Bo01 que son %(s 'ono'&os.

También podría gustarte