Anda di halaman 1dari 15

Lenguaje de Programacin I

USO DE LOS OBJETOS JRADIOBUTTON Y


JCHECKBOX

Objeto de Control JRadioButton


Un objeto de control JRadioButton permite dibujar en el formulario una opcin que puede
ser seleccionada, es decir, es un objeto que define una opcin o alternativa para ser
elegida. Este objeto debe mostrarse ms de una vez en el diseo del formulario para que
exista la alternativa de seleccionar una opcin de un grupo de opciones. Los objetos son
mutuamente excluyentes con respeto a la seleccin. Se tiene la siguiente figura:

En la figura anterior se observan tres objetos JRadioButton y para poder seleccionar sola
una alternativa se tendr que usar el objeto ButtonGroup que es un elemento que no se
llega a dibujar en el formulario pero permite agrupar objetos JRadioButton y una vez
1

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

agrupados permite la seleccin de una opcin cuando la aplicacin se encuentre en


ejecucin. En las dos aplicaciones que veremos ms adelante se har hincapi en este
asunto.
Propiedades ms usadas:

Text: Permite establecer la expresin de la opcin.

Font: Permite establecer el tipo de letra en el objeto de control.

Enabled: Para habilitar o inhabilitar el uso del objeto de control.

Mtodo ms usado:

isSelected(): retorna el valor de verdadero si el objeto se encuentra seleccionado y


falso en caso contrario.

Objeto de Control JCheckBox


Un objeto de control JCheckBox permite dibujar en el formulario una opcin que puede
ser seleccionada, es decir, es un objeto que define una opcin o alternativa para ser
elegida. La diferencia con respecto al objeto de control JRadioButton es que si se tienen
dos o ms objetos JCheckBox se puede seleccionar ms de una opcin o simplemente no
seleccionar ninguna, por lo que no son mutuamente excluyentes. Se tiene la siguiente
figura:

En la figura anterior se observa un objeto JCheckBox que expresa como opcin Contado,
si es seleccionado significa que la forma de pago es al contado y si se deja como no
seleccionado significa que la forma de pago no es al contado por lo que se puede asumir
que es al crdito.
Propiedades ms usadas:

Text: Permite establecer la expresin de la opcin.

Font: Permite establecer el tipo de letra en el objeto de control.

Enabled: Para habilitar o inhabilitar el uso del objeto de control.

Mtodo ms usado:

isSelected(): retorna el valor de verdadero si el objeto se encuentra seleccionado y


2

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

falso en caso contrario.


Aplicacin 1
Vamos a construir una aplicacin en entorno visual que permita ingresar del costo de un
artefacto, del tipo de artefacto y la forma de pago, para calcular lo siguiente:
a. Si el pago es al contado hay un descuento del 6% del costo del artefacto si el tipo
de artefacto es Audio, 8% si es Video y 5% si es Lnea Blanca.
b. Si el pago es al crdito hay un incremento del 7% sobre el costo del artefacto si es
el tipo de artefacto es Audio, 9% si es Video y 10% si es Lnea Blanca.
c. El monto del IGV es del 19% sobre el costo del artefacto luego de aplicar el
descuento o el incremento.
d. El monto a pagar que es el costo del artefacto (descontado o incrementado) ms el
monto del IGV.

Solucin:

Procedamos a crear un proyecto denominado Aplicaciones dentro de una carpeta


llamada Practicas y como clase Aplicacin1 que pertenece al paquete de
ejemplos. Luego damos click en el botn de comando Finish.

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

Seleccionamos la carpeta de ejemplos, damos click con el botn derecho del


mouse y elegimos la opcin New y posteriormente JframeForm.

A continuacin, se visualiza la siguiente ventana y cambiamos el nombre de la


clase indicado por la flecha:

Ahora procedemos a disear el formulario, donde se har nfasis en el manejo de


los nuevos objetos de control. No olvidemos que cada vez que usemos un
4

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

formulario su Layout debe ser cambiado a Absolute Layout como se aprecia en la


siguiente figura:

Dibujamos como etiqueta (usando un JLabel) la expresin: Costo del Artefacto y


el cuadro de texto (Usando un JtextField). Tambin a travs de una etiqueta
colocamos la expresin Tipo de Artefacto y luego 3 objetos JRadioButton. Los
objetos JRadioButton deben expresar Audio, Video y Lnea Blanca. Debemos
recordar que se tendr que hacer uso de la propiedad Text para cambiar las
expresiones.

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

De la paleta SwingControls seleccionamos ButtonGroup y lo arrastramos hacia el


formulario. Esto ocasionar que se cree un objeto ButtonGroup1 tal como se
aprecia en el navegador (lado izquierdo del diseo del formulario).

Seleccionamos el objeto JRadioButton referido a Audio y luego buscamos en la


ventana

de

propiedades,

la

propiedad

buttongroup

luego

eligimos

buttongroup1

Lo mismo hacemos para los tipos de artefactos Video y Lnea Blanca. Por lo tanto,
los tres objetos JRadioButton deben pertenecer a buttongroup1. Si pretendemos
6

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

en estos momentos ejecutar el formulario podremos seleccionar uno de los tres


tipos de artefactos.

A continuacin, agregamos un objeto JCheckBox para indicar la forma de pago que


solo puede ser de dos posibilidades: Contado o Crdito. Seleccionado significa al
Contado, no seleccionado significa al crdito. Agregamos los dems objetos de
control que se visualiza en el diseo del formulario y que fueron estudiados en la
sesin anterior. En el diseo del formulario se indica los nombres de los objetos y
debemos recordar que para asignar un nombre a un objeto de control hay que
seleccionar al objeto y dando click con el botn derecho del mouse se procede a
seleccionar la opcin Change Variable Name

Procedamos a programar en los botones de comando:


En el botn de comando CALCULAR (btnCalcular), al darle doble click, escribimos
el siguiente cdigo: (lo escrito en azul)
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt)
{
double costo, dcto=0, incre=0, igv, mpagar;
7

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

costo=Double.parseDouble(txtCosto.getText());
if (chkContado.isSelected())
{
if (rbAudio.isSelected())
dcto=costo*0.06;
if (rbVideo.isSelected())
dcto=costo*0.08;
if (rbLinea.isSelected())
dcto=costo*0.05;
}
else
{
if (rbAudio.isSelected())
incre=costo*0.07;
if (rbVideo.isSelected())
incre=costo*0.09;
if (rbLinea.isSelected())
incre=costo*0.1;
}
igv=(costo-dcto+incre)*0.19;
mpagar=(costo-dcto+incre)+igv;
txtDcto.setText(String.valueOf(dcto));
txtIncre.setText(String.valueOf(incre));
txtIgv.setText(String.valueOf(igv));
txtMPagar.setText(String.valueOf(mpagar));

Una vez declaradas las variables de memoria, en la variable costo se asigna el


valor introducido en el cuadro de texto txtCosto gracias al mtodo getText() que
logra obtener el dato colocado en el objeto de control. Con la sentencia if se evala
si est seleccionada la opcin al contado y, si es as, se procede a evaluar cul de
los tipos de artefactos est seleccionado para aplicar el clculo del descuento que
ser asignando a la variable de memoria dcto. En caso que no est seleccionada
la opcin al Contado entonces se asume que la forma de pago es al crdito y se
procede a evaluar cul de los tipos de artefactos est seleccionado para aplicar el
clculo del incremento que ser asignado a la variable incre. A continuacin, se
calcula el IGV y el monto a pagar. Luego, los objetos de control txtDcto, txtIncre,
txtIgv y txtMPagar reciben valores a travs de las variables de memoria dcto,
incre, igv y mpagar en sus cuadros de textos gracias al mtodo setText(), por
supuesto

previamente se tiene que convertir a cadena de texto los valores

numricos de las variables usando el mtodo valueOf() de la clase String.


En el botn de comando BORRAR (btnBorrar), luego de darle doble click,
escribimos el siguiente cdigo: (lo escrito en azul)
private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt)
8

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

txtCosto.setText();
txtDcto.setText();
txtIncre.setText();
txtIgv.setText();
txtMPagar.setText();
rbAudio.setSelected(false);
rbVideo.setSelected(false);
rbLinea.setSelected(false);
chkContado.setSelected(false);
txtCosto.requestFocus();

Se limpian los cuadros de textos con slo poner en el mtodo setText() y a los
objetos botn de radio (JRadioButton) y el objeto de caja verificacin (JCheckBox)
se les aplica el mtodo setSelected() para lograr quitar la seleccin de estos
objetos. Lo ms importante es que los cuadros de textos estn limpios para poder
permitir el ingreso de nuevos datos.

En el botn de comando CERRAR (btnCerrar), luego de darle doble click,


escribimos el siguiente cdigo: (lo escrito en azul)
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt)
{
dispose();
}

El mtodo dispose() permite descargar el formulario y terminar la ejecucin de la


aplicacin.

Luego procedemos a ejecutar la aplicacin seleccionando frmAplicacion1 en la


pgina o pestaa Proyects (se encuentra al lado izquierdo del diseo del
formulario) y al dar click botn derecho elegimos Run File.

Aplicacin 2
Vamos a construir una aplicacin en entorno visual que permita calcular la bonificacin, el
descuento y el sueldo neto de un trabajador dado el ingreso del sueldo bsico, el grado de
instruccin, la condicin laboral e indicando si tiene vivienda e hijos bajo las siguientes
consideraciones:
a) Por el grado de instruccin percibe una bonificacin de 5% del sueldo bsico si el

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

grado es Secundaria, 12% del sueldo bsico si es Universitaria y 18% del sueldo
bsico si es maestra.
b) Por la condicin laboral percibe una bonificacin del 4% del sueldo bsico si es
contratado, 10% del sueldo bsico si es nombrado y del 5% del sueldo bsico si es
de servicios no personales.
c) Si tiene vivienda no percibe ninguna bonificacin pero si no tiene vivienda percibe
una bonificacin del 3% del sueldo bsico
d) Si tiene hijos percibe una bonificacin del 6% del sueldo bsico.
e) Se le aplica 11% del sueldo bruto (sueldo bsico + bonificaciones) por el pago de la
AFP y esto constituye un descuento en sus haberes.
f) El sueldo neto es igual al sueldobruto menos el descuento.

Solucin:

Seleccionamos la carpeta de ejemplos, damos click con el botn derecho del


mouse y elegimos la opcin New y posteriormente JframeForm.

A continuacin, se visualiza la ventana de New Jframe Form donde colocaremos


como class name (nombre de la clase) frmAplicacion2 y luego daremos click en el
botn de comando Finish.

Ahora procedemos a disear el formulario, donde se har nfasis en el manejo de


los nuevos objetos de control. No olvidemos que cada vez que usemos un
formulario su Layout debe ser cambiado a Absolute Layout como se aprecia en la
10

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

siguiente figura:

Dibujamos como etiqueta (usando un JLabel) la expresin: SUELDO BASICO: y


el cuadro de texto (Usando un JTextField). Tambin a travs de una etiqueta
(Jlabel) colocamos la expresin Grado de Instruccin: y con 3 objetos
JRadioButton debemos expresar Secundaria, Universitaria y Maestra
haciendo uso de la propiedad Text de los objetos JRadioButton para cambiar las
expresiones. Adems con otra etiqueta (Llabel) colocamos la expresin Condicin
Laboral: y con 3 objetos JRadioButton debemos expresar Contratado,
Nombrado y Serv. No Pers.. Dado que tenemos que seleccionar una opcin
para Grado de Instruccin y otra opcin para la Condicin Laboral ser necesario
crear 2 objetos JButtonGroup. Recuerdemos que se arrastra desde la paleta en
dos instantes el objeto JButtonGroup.

11

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

Usaremos para las opciones de Grado de Instruccin el objeto buttonGroup1 y


para las opciones de Condicin Laboral buttonGroup2. Esto permitir poder
seleccionar una opcin de las tres alternativas. Para es necesario seleccionar cada
objeto JRadioButton y usar en la ventana de propiedades, la propiedad
buttonGroup.

Continuamos con el diseo del formulario agregando los dems objetos de control
que se visualizan en el diseo del formulario y que fueron estudiados en la sesin
anterior. En el diseo del formulario se indican los nombres de los objetos y
12

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

debemos recordar que para asignar un nombre a un objeto de control hay que
seleccionar al objeto y dando click al botn derecho del mouse se procede a
seleccionar la opcin Change Variable Name.

Procedamos a programar en los botones de comando:


En el botn de comando CALCULAR (btnCalcular), luego de darle doble click,
escribimos el siguiente cdigo: (lo escrito en azul)
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt)
{
double boni=0.0, sb, dcto, sn, sbruto;
sb=Double.parseDouble(txtSB.getText());
if (rbSec.isSelected())
boni=sb*0.05;
if (rbUni.isSelected())
boni=sb*0.12;
if (rbMae.isSelected())
boni=sb*0.18;
if (rbCon.isSelected())
boni=boni+sb*0.04;
if (rbNom.isSelected())
boni=boni+sb*0.1;
if (rbSNP.isSelected())
boni=boni+sb*0.05;
13

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

if (!(chkCas.isSelected()))
boni=boni+sb*0.03;
if (chkHij.isSelected())
boni=boni+sb*0.06;
sbruto=sb+boni;
dcto=sbruto*0.11;
sn=sbruto-dcto;
txtBoni.setText(String.valueOf(boni));
txtDcto.setText(String.valueOf(dcto));
txtSN.setText(String.valueOf(sn));
}

Una vez declaradas las variables de memoria, en la variable sb se asigna el valor


introducido en el cuadro de texto txtSB gracias al mtodo getText() que logra
obtener el dato colocado en el objeto de control. Con la sentencia if se evala si
est seleccionada la opcin Secundaria y si es as se procede a calcular la
bonificacin. De igual manera se hace para Universitaria y para Maestra. Hasta
aqu se calcula la primera bonificacin por el concepto de Grado de Instruccin.
Ahora viene una segunda bonificacin por el concepto de Condicin Laboral para lo
cual la variable de memoria boni se comporta como variable acumulativa, as por
ejemplo, si el trabajador es de condicin Contratado para calcular la bonificacin
debo usar la instruccin boni=boni+sb*0.04; donde la variable boni contiene el
clculo por Grado de instruccin y se quiere sumar ahora por el concepto de
Condicin Laboral. Lo mismo se har con las otras opciones y se seguir
acumulando inclusive con las opciones definidas con el objeto JCheckBox (Casado
e Hijos) A continuacin se calcula el sueldo bruto, el descuento y el sueldo neto.
Luego los objetos de control txtBoni, txtDcto y txtSN reciben valores a travs de
las variables de memoria boni, dcto y sn en sus cuadros de textos gracias al
mtodo setText(), por supuesto previamente se tiene que convertir a cadena de
texto los valores numricos de las variables usando el mtodo valueOf() de la
clase String.
En el botn de comando BORRAR (btnBorrar), luego de darle doble click,
escribimos el siguiente cdigo: (lo escrito en azul)
private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt)
{
txtSN.setText();
txtBoni.setText();
txtDcto.setText();
txtSN.setText();
txtCosto.requestFocus();
14

ING.SANCHEZ CURAY JOSE LUIS

Lenguaje de Programacin I

Se limpian los cuadros de textos con solo poner en el mtodo setText(). Lo ms


importante es que los cuadros de textos estn limpios para poder permitir el ingreso
de nuevos datos.

En el botn de comando CERRAR (btnCerrar), luego de darle doble click,


escribimos el siguiente cdigo: (lo escrito en azul)
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt)
{
dispose();
}

El mtodo dispose() permite descargar el formulario y terminar la ejecucin de la


aplicacin.

Luego procedemos a ejecutar la aplicacin seleccionando frmAplicacion1 en la


pgina o pestaa Proyects (se encuentra al lado izquierdo del diseo del
formulario) y al dar clic botn derecho elegimos Run File.

En el siguiente tema conoceremos a otro objeto de control y seguiremos trabajando con lo


aprendido con las sesiones 2 y 3.

15

ING.SANCHEZ CURAY JOSE LUIS

Anda mungkin juga menyukai