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 txt recio!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 eti recio.nstalacion( la segunda eti recio/ormacion y la tercera eti recio0limentacion!,.

8.

rue&a el programa y comprue&a el %uncionamiento de los &otones 2*oggle!utton:

<&serva como al pulsar los 2*oggled!utton estos se quedan pulsados. Si se vuelven a activar se despulsan".

6. Se pretende que el programa %uncione de la siguiente %orma: a. &. c. d. 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. Si el cliente quiere la %ormaci'n( activar el &ot'n /ormaci'n. 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:

double double double double

precio_base; precio_instal; //precio instalacin precio_for; //precio formacion precio_ali; //precio alimentacion

//Recojo datos desde la ventana: precio_base = Double.parseDouble(txtPrecio ase.!et"ext(##; precio_instal = Double.parseDouble(etiPrecio$nstalacion.!et"ext(##; precio_for = Double.parseDouble(etiPrecio%ormacion.!et"ext(##; precio_ali = Double.parseDouble(etiPrecio&limentacion D.!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!!le uttons 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&limentacion D.is/elected(## 0 ///i se seleccion &limentacin precio_total = precio_total1precio_ali; 2 //%inalmente pon!o el resultado en la eti(ueta eti"otal.set"ext(precio_total13 43#; D

=. >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(txtPrecio ase.!et"ext(##; precio_instal = Double.parseDouble(etiPrecio$nstalacion.!et"ext(##; precio_for = Double.parseDouble(etiPrecio%ormacion.!et"ext(##; precio_ali = Double.parseDouble(etiPrecio&limentacion D.!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


.ntroduce una cantidad ?usa el punto para los decimales@ Selecciona los extras que desees. ulsa Calcular y o&tendrs el resultado.

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.

CONCLUSIN Los JToggleButton son botones que pue en que !"se puls! os. A t"!#$s el %$to o &sSele'te po e%os s!be" s& un JToggleButton est( sele''&on! o. T!%b&$n pue es us!" el %$to o 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 pue en se" sust&tu& os po" Cu! "os e Ve"&,&'!'&)n -JC.e'/Bo01 que son %(s 'ono'& os.

También podría gustarte