Swing 04 Radio Buttons y Check Boxes

Documentos relacionados
Swing 03 Introducción al Uso de Botones

Elementos de Selección y Objetos

Práctica No. 5. Estructuras con Memoria Dinámica

Swing 08 Introducción a las Tablas

INTERFACES GRÁFICAS MTRA. CAROLINA GALAVIZ INZUNZA. Mtra. Carolina Galaviz Inzunza

Práctica No. 6. Manejo de Eventos con Javascript

Swing 09 Despliegue y Lectura de Datos en Tablas

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco

Práctica No. 4. Operaciones Básicas con Hibernate Selección

Swing 15 Manejo Básico de Imágenes

2.1 Elementos gráficos en Java.

Programación de sistemas

Autor: Ing. Tymoschuk, Jorge

Sistema de Archivos en Java

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Ángel Villa Brasero - Actividad Foro Unidad 2 26/11/ Clases de la aplicación. ApNumeroPerfecto.java. VentanaPrincipal.java

Interfases gráficas. Programación Orientada a Objetos.

Capítulo 5: Interfaces gráficas de usuario

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.

Práctica 10a. Práctica 10a. José M. Ordax

Conceptos básicos de Orientación a Objetos, manejo con Eclipse.

Tips de Componentes UI Java Swing con Netbeans

Interfaces Gráficas de Usuario

Hasta ahora hemos desarrollado programas que usan la consola para interactuar con el usuario.

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

Pasos requeridos para establecer el manejo de eventos para un componente de GUI.

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Manual Administradores

Java Constructores por defecto. Java Constructores this() y super()

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ESCUELA DE INGENIERIA EN SISTEMAS

Universidad de los Andes Ingeniería de Sistemas y Computación

Manual de usuario SLAIC Tecnología de materiales CLIENTES

Sistema de Información de Apoyo a la Gestión de la Institución Educativa - SIAGIE 2015

Examen No. 3 - Final

Tablas. Una tabla se utiliza para ordenar los datos. Facilita y agiliza la lectura.

Objetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

Code MCWW (MODIFIED CLASSIC WUMPUS WORLD) X

Problema 1 (2 puntos)

MANIPULACIÓN DE DATOS

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

USO DEL OBJETO JLIST

Práctica No. 2. Operaciones Básicas con Hibernate - Inserciones

Aplicaciones gráficas en Java Librería Swing

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)

NUEVO EPC DEL GRUPO NISSAN GUÍA DE INICIO

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

Uso del carrito de compras

Práctica 11f. Práctica 11f. José M. Ordax

VISTA GENERAL DE LA BARRA DE HERRAMIENTAS

NMEX-IS. Sistema de Facturación Electrónica. Proveedores Manual de Usuario Versión 001

Bloque II. Elementos del lenguaje de programación Java

Manual Power Point Trabajar con diapositivas

3.2. MANEJO DEL ENTORNO

Elementos de Control en Bootstrap

Temas. Taller III 2007 Gentile,Vazquez

Interfaces gráficas. Jose Jesus García Rueda

Unidad VI. archivos de texto llano o texto simple por carecer de información destinada a generar formatos y tipos de letra.

Práctica 11e. Práctica 11e. José M. Ordax

ZK Smalltalk - Build ZK Powered Applications using Swing and AWT

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º. Leonardo DaVinci. Piccasso La Tempestad. Mona Lisa

JAVA. L.I Gerardo Benavides Pérez

Vistas y controles en ios

Al invocar GUIDE en cualquiera de estas formas aparecerá la siguiente ventana.

Programa educativo Academia NOMBRE DE LA ASIGNATURA CLAVE DE LA ASIGNATURA PLAN DE ESTUDIOS PARADIGAMAS DE PROGRAMACIÓN IT0427 IT2010

12. Tipos de atributos

Programación M.I. Gerardo Avilés Rosas Tercer Examen Parcial

Estructuras de control selectivas

Manual de Mejoras y Cambios en el Portal de Proveedores

SOFTWARE Microsoft Visual Studio 2005.NET FrameWork 2.0

Expert PR Taxes Trial Balance. Enero PO Box San Juan PR p f

GUÍA PARA COMENZAR IDENTIFICAR EL VEHÍCULO

Programacion De 4500 Fingerprint Reader Digital Persona En Java Con Windows 7 Parte 2

Utilizar los elementos básicos de la programación de interfaces gráficas de usuario para el diseño y desarrollo de programas de aplicación.

Entorno Virtual de Aprendizaje Administración de cursos: Participantes, Calificaciones, Informes Guía de usuario

Gestión de formularios: Manual de usuario

Desarrollo de Aplicaciones en Java INF 473

QUICKSORT JAMES GUARIN CARO JAHIR ARDILA GERMAN ORTEGON DAVID GOMEZ UNIVERSIDAD PILOTO DE COLOMBIA INGENIERIA DE SISTEMAS BOGOTA 2010

Java Avanzado. Lenguaje de Programación Java. Interfaces Gráficas de Usuario con Java. Elaboró: Oscar Alejandro González Bustamante

Introducción a Microsoft 2010 Office

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

DEPÓSITO DE INFORMACIÓN

GUIA PARA CAPTURA DE CONVENIOS IT-OSF-001

Ejemplo de la Clase Persona

Manual de Usuario. Sistema Institucional de Academias

PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS OPERACIONES CON CELDAS, FILAS Y COLUMNAS EN EXCEL SELECCIONAR COPIAR MOVER BORRAR

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C)

Base de datos En este tutorial vamos a trabajar con la siguiente base de datos. Programación II Turno Mañana


Programación de sistemas

Programa educativo Academia NOMBRE DE LA ASIGNATURA CLAVE DE LA ASIGNATURA PLAN DE ESTUDIOS. Paradigmas de programación IT0427 IT2010

Examen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN

Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

Transcripción:

Swing 04 Radio Buttons y Check Boxes En esta práctica se revisarán los conceptos básicos sobre el manejo de Radio Buttons y Check Boxes. Se comenzará creando un nuevo proyecto llamado SW04 sin crear una clase Principal. Crear también un paquete llamado uam.pvoe.sw.buttons.formas y otro llamado uam.pvoe.sw.buttons.modelo En el paquete para las formas, se creará un nuevo Frame llamado FrmButtons. Configurarla con las siguientes propiedades: Ancho Máximo: 800 x 600 Ancho Mínimo: 800 x 600 No permitir redimensionar Título: Radio Buttons y Check Boxes Agregar elementos para que tenga el siguiente aspecto: Los nombres de las variables serán: private javax.swing.jbutton btnregistrar; private javax.swing.jcheckbox cbaleman; private javax.swing.jcheckbox cbcpp; private javax.swing.jcheckbox cbcs; private javax.swing.jcheckbox cbfrances; private javax.swing.jcheckbox cbingles; private javax.swing.jcheckbox cbjava; private javax.swing.jcheckbox cbotroidioma; 1

private javax.swing.jcheckbox cbotrolenguaje; private javax.swing.jcheckbox cbphp; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jseparator jseparator1; private javax.swing.jseparator jseparator2; private javax.swing.jlabel lblencuesta; private javax.swing.jlabel lblestadocivil; private javax.swing.jlabel lblgenero; private javax.swing.jlabel lblidiomas; private javax.swing.jlabel lbllenguajesprogramacion; private javax.swing.jlabel lblnacionalidad; private javax.swing.jradiobutton rbcasado; private javax.swing.jradiobutton rbdivorciado; private javax.swing.jradiobutton rbextranjero; private javax.swing.jradiobutton rbfemenino; private javax.swing.jradiobutton rbmasculino; private javax.swing.jradiobutton rbmexicano; private javax.swing.jradiobutton rbsoltero; private javax.swing.jradiobutton rbunionlibre; private javax.swing.jtextarea txtotrolenguaje; Agrupando Radio Buttons El problema ahora es que los Radio Button no tienen relación entre ellos, por lo que pueden seleccionarse todos los elementos de un mismo bloque. Se identifican tres bloques: Género, Estado Civil y Nacionalidad Por lo que es necesario crear tres grupos diferentes y agregar cada botón a su respectivo grupo, esto se hace agregando tres elementos de tipo Button Group, los cuáles no aparecen físicamente en la pantalla, pero sirven para agrupar Radio Buttons o Check Boxes. Una vez agregados, se le cambia el nombre a la variable. private javax.swing.buttongroup bgroupestadocivil; private javax.swing.buttongroup bgroupgenero; private javax.swing.buttongroup bgroupnacionalidad; Para agregar los botones a su respectivo grupo, se creará un método y se invocará después de la inicialización de componentes. 2

public FrmButtons() { initcomponents(); asignarradiobuttons(); public void asignarradiobuttons(){ /*Creando el grupo de Genero*/ bgroupgenero.add(rbfemenino); bgroupgenero.add(rbmasculino); /*Creando el grupo de Estado Civil*/ bgroupestadocivil.add(rbcasado); bgroupestadocivil.add(rbdivorciado); bgroupestadocivil.add(rbsoltero); bgroupestadocivil.add(rbunionlibre); /*Creando el grupo de Nacionalidad*/ bgroupnacionalidad.add(rbmexicano); bgroupnacionalidad.add(rbextranjero); Con esto, los Radio Buttons ya tienen el comportamiento adecuado. Agrupando Check Boxes Para facilitar su manejo, los Check Boxes también se agrupan, sin embargo al no existir un elemento para esto como en los Radio Button, se usará una lista ligada (LinkedList) LinkedList <JCheckBox>listaChkBoxesLenguaje = new LinkedList(); LinkedList <JCheckBox>listaChkBoxesIdioma = new LinkedList(); public FrmButtons() { initcomponents(); asignarradiobuttons(); agruparcheckboxeslenguaje(); agruparcheckboxesidioma(); 3

public void agruparcheckboxeslenguaje(){ listachkboxeslenguaje.add(cbcs); listachkboxeslenguaje.add(cbcpp); listachkboxeslenguaje.add(cbjava); listachkboxeslenguaje.add(cbphp); listachkboxeslenguaje.add(cbotrolenguaje); public void agruparcheckboxesidioma(){ listachkboxesidioma.add(cbfrances); listachkboxesidioma.add(cbingles); listachkboxesidioma.add(cbaleman); listachkboxesidioma.add(cbotroidioma); Leyendo Datos de Radio Buttons y Check Boxes Se creará un evento para que al dar clic sobre el botón, se puedan leer los datos de los Radio Buttons private void btnregistraractionperformed(java.awt.event.actionevent evt) { registarpersonal(); private void registarpersonal(){ String genero = selecciongenero(); String nacionalidad = seleccionnacionalidad(); String civil = seleccionestadocivil(); Para recuperar la selección del Radio Button, se iterará en los elementos que regresa el grupo creado, esto facilita la revisión sin importar la cantidad de opciones 4

public String selecciongenero(){ Enumeration<AbstractButton> btngrp = bgroupgenero.getelements(); String resultado = ""; while(btngrp.hasmoreelements()){ JRadioButton btnaux = (JRadioButton)btnGrp.nextElement(); if(btnaux.isselected()){ resultado = btnaux.gettext(); return resultado; Se realiza lo mismo para las otras dos selecciones (nacionalidad y estado civil) public String seleccionestadocivil(){ Enumeration<AbstractButton> btngrp = bgroupestadocivil.getelements(); String resultado = ""; while(btngrp.hasmoreelements()){ JRadioButton btnaux = (JRadioButton)btnGrp.nextElement(); if(btnaux.isselected()){ resultado = btnaux.gettext(); return resultado; public String seleccionnacionalidad(){ Enumeration<AbstractButton> btngrp = bgroupnacionalidad.getelements(); String resultado = ""; while(btngrp.hasmoreelements()){ JRadioButton btnaux = (JRadioButton)btnGrp.nextElement(); if(btnaux.isselected()){ resultado = btnaux.gettext(); return resultado; 5

Se creará una clase llamada RegistroSelecciones en el paquete uam.pvoe.sw.buttons.modelo para simular lo que sería un registro. RegistroSelecciones.java public class RegistroSelecciones { public void registrarpersonales(string genero, String nacionalidad, String civil){ System.out.println("El Género es: " + genero); System.out.println("La Nacionalidad es: " + nacionalidad); System.out.println("El Estado Civil es: " + civil); Finalmente se invoca el método correspondiente. private void registarpersonal(){ RegistroSelecciones registro = new RegistroSelecciones(); String genero = selecciongenero(); String nacionalidad = seleccionnacionalidad(); String civil = seleccionestadocivil(); registro.registrarpersonales(genero, nacionalidad, civil); Trabajando con Check Boxes Se tiene un bloque de texto para poder capturar otros lenguajes en caso de que se seleccione la opción de Otro. Para un mejor funcionamiento se hará que el cuadro esté solo visible en caso de que se seleccione esta opción. Para esto se le creará un estado relacionado con el clic del ratón (Mouse Clicked) private void cbotrolenguajemouseclicked(javax.swing.event.changeevent evt) { txtotrolenguaje.settext(""); if(cbotrolenguaje.isselected()) txtotrolenguaje.setvisible(true); else txtotrolenguaje.setvisible(false); 6

Notar que no se oculta el contenedor, solamente se oculta el bloque de texto. Adicionalmente se limpia cada que aparece o desaparece. Ahora se leerán los datos de los checkboxes, para esto se invocarán dos métodos aparte de la lectura de datos personales. private void btnregistraractionperformed(java.awt.event.actionevent evt) { registarpersonal(); registrarlenguajes(); registraridiomas(); private void registrarlenguajes(){ RegistroSelecciones registro = new RegistroSelecciones(); registro. registrarlenguajes(listachkboxeslenguaje); private void registraridiomas(){ RegistroSelecciones registro = new RegistroSelecciones(); registro. registraridiomas(listachkboxesidioma); Se crearán dos métodos nuevos en la clase RegistroSelecciones para que procesen las listas ligadas con las opciones seleccionadas. RegistroSelecciones.java public void registraridiomas(linkedlist <JCheckBox> lista){ LinkedList <String> listaidiomas = new LinkedList(); for(int i=0;i<lista.size();i++){ JCheckBox aux = lista.get(i); if(aux.isselected()) listaidiomas.add(aux.gettext()); System.out.println("Los Idiomas seleccionados son: "); for(int i= 0; i<listaidiomas.size();i++){ 7

System.out.println(listaIdiomas.get(i)); public void registrarlenguajes(linkedlist <JCheckBox> lista){ LinkedList <String> listalenguajes = new LinkedList(); for(int i=0;i<lista.size();i++){ JCheckBox aux = lista.get(i); if(aux.isselected()) listalenguajes.add(aux.gettext()); System.out.println("Los Lenguajes seleccionados son: "); for(int i= 0; i<listalenguajes.size();i++){ System.out.println(listaLenguajes.get(i)); Trabajando con otros Lenguajes private void registrarlenguajes(){ RegistroSelecciones registro = new RegistroSelecciones(); String otroslenguajes = txtotrolenguaje.gettext(); registro. registrarlenguajes(listachkboxeslenguaje,otroslenguajes); RegistroSelecciones.java public void registrarlenguajes(linkedlist <JCheckBox> lista, String otros){ LinkedList <String> listalenguajes = new LinkedList(); for(int i=0;i<lista.size();i++){ JCheckBox aux = lista.get(i); if(aux.isselected()) listalenguajes.add(aux.gettext()); System.out.println("Los Lenguajes seleccionados son: "); for(int i= 0; i<listalenguajes.size();i++){ System.out.println(listaLenguajes.get(i)); 8

if(otros.length()>0){ System.out.println("Otros que manejas son: " + otros); Ajustes Finales Los detalles que todavía quedan pendientes son: Se debe seleccionar una opción de los radio button por defecto, de esta manera se evita que se pueda enviar la selección vacía. Se debe ocultar el bloque de texto hasta que se seleccione la opción de Otro en la selección de lenguajes. public FrmButtons() { initcomponents(); asignarradiobuttons(); agruparcheckboxeslenguaje(); agruparcheckboxesidioma(); inicializarselecciones(); /*Inicializando selecciones*/ public void inicializarselecciones(){ /*Inicializando elementos*/ rbmasculino.setselected(true); rbsoltero.setselected(true); rbmexicano.setselected(true); txtotrolenguaje.setvisible(false); 9