You are on page 1of 16

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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 y 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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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; if (chkSinV.isSelected()) boni=boni+sb*0.03; if (chkHij.isSelected())
13

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

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(); rbSec.setSelected(false); rbUni.setSelected(false); rbMae.setSelected(false); rbCon.setSelected(false);
14

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

rbNom.setSelected(false); rbSNP.setSelected(false); chkSinV.setSelected(false); chkHij.setSelected(false); txtSB.requestFocus();

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

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Programacin Visual

16

You might also like