SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Las características básicas para el buen diseño de una interfaz gráfica de usuario (GUI):
1. Debe ser Intuitiva (Relativamente fáciles de aprender y utilizar)
2. Mantener una interfaz consistente en su: fuente, colores, distribución de los controles, terminología
3. Diseño ergonómico mediante el establecimiento de menús, barras de acciones e iconos de fácil acceso
4. Las operaciones serán rápidas y reversibles(que se puedan cancelar)
5. Existencia de herramientas de Ayuda y Consulta
6. Mantener informado al usuario de su estado, mensajes que le indiquen el resultado de sus acciones,
antes y después de confirmarlas.
7. Tratamiento de errores, permitiendo al usuario tomar acciones, según el manual de ayuda.
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
GUIA
Crear la GUI para almacenar la información de una tabla de bases de datos que va contener los registros
de asociados de una cooperativa de ahorros.
Tabla: TblAsociado
Identificación: Entero Largo
TipoID: { R.C., T.I., C.C., Pasaporte, C. Extranjería }
Nombre: Texto
Apellidos: Texto
Género: { Femenino, Masculino }
Nacimiento: Fecha
De la tabla anterior se deduce que los campos Identificación, Nombre y Apellidos deben solicitarse con
una caja de texto (JTextField) que permita capturar las diferentes posibilidades, ya que existen muchas
identificaciones, nombres y apellidos diferentes que pueden digitarse.
El tipo de identificación se sugiere solicitarlo con una lista desplegable (JComboBox) para que el usuario
seleccione una.
El género solo tiene dos posibilidades, por lo cual dos botones de opción (JRadioButton) son adecuados.
Para la fecha de nacimiento se puede utilizar un control de fecha (JDateChooser) de la librería JCalendar.
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Detallado de los elementos o controles que contiene la interfaz.
1. 6 etiquetas – JLabel
2. 3 Cajas de texto – JTexField
3. 2 botones de opción – JRadioButton
4. Un grupo de botones – ButtonGroup este no se muestra en el interfaz y es el encargado de que los
botones de opción que se le agreguen, solo sea posible seleccionar uno.
5. 5 Botones de acción – JButton
6. Una lista desplegable – JComboBox
7. Un seleccionador de fecha – JDateChooser
Ahora vamos a crear lo anterior utilizando el IDE NetBeans
1. Acceder a NetBeans,
 al menú Archivo
 clic en Proyecto Nuevo…
 escoger en Categorías Java y en Proyectos la opción Java Aplicacion
 clic en el botón Siguiente
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
2. Llenar los datos del proyecto:
 Nombre del proyecto: PrjCooperativa
 Ubicación del Proyecto: Por defecto o donde queramos colocar nuestros proyectos de NetBeans
 Crear clase principal: pckcooperativa.Controlador
 Clic en el botón Terminar
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
3. Agregar un JFrame al paquete pckcooperativa, para crear la GUI planteada:
 Nombre de la clase: FrmAsociado
 Paquete: pckcooperativa
 Clic en el botón Terminar
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Adicionamos los controles con los siguientes nombres y propiedades.
(JFrame)
Formulario
Propiedades
Principal title resizable
layout Código / Normas sobre el
tamaño de los formularios
Formulario donde
está la IGU
COOPERATIVA / REGISTRO
DE ASOCIADOS
false
null Generar código para cambiar
el tamaño
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Componente swing Propiedades
Campo de Texto : JTextField
Nombre del control editable text
1 txtId true
2 txtNombre true
3 txtApellidos true
Componente swing Propiedades
Botón de Opción : JRadioButton
Nombre del
control
selected text
1 opcF false Femenino
2 opcM false Masculino
1 ButtonGroup: grupoGenero
Componente swing Propiedades
Lista desplegable: JComboBox
Nombre del
control
model
1 cmbTipoId -Seleccione-
Registro Civil
Tarjeta de Identidad
Cedula de Ciudadanía
Cedula de Extranjería
Pasaporte
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Componente swing
(Librería externa jCalendar)
Propiedades
Seleccionador de Fecha : JDateChooser
Nombre del
control
dateFormatString
1 jdcNacimiento d/MM/yyyy
Componente swing Propiedades
Botón de acción : JButton
Nombre del
control
text
1 butBuscar “BUSCAR”
2 butGuardar “GUARDAR”
3 butActualizar “ACTUALIZAR”
4 butLimpiar “LIMPIAR”
5 butCerrar “CERRAR”
La construcción de la GUI es muy fácil con el IDE NetBeans, solo necesita ir seleccionado el control que quiere
agregar al formulario, con un clic selecciona al elemento que está en la paleta de controles del NetBeans y se deja
en el formulario en la posición que se requiera.
Controles de la librería externa jCalendar
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Código del método initComponents() generado por el IDE del NetBeans, clic en el símbolo + para ver
Generated Code
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Método constructor del formulario, este código hay que adicionarlo.
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
EVENTOS
Los eventos permiten al programa interactuar con el usuario. En java los eventos están organizados con una
jerarquía de clases dentro del paquete java.awt.event, la clase padre de los eventos es java.awt.Event
Para este guía se trabajara el evento clic del botón.
VALIDACION
La validación de datos hace referencia a verificar, controlar o filtrar cada una de las entradas de datos que
provienen desde el exterior del sistema. Si el dato es correcto, es decir, si es el tipo de dato que espera el sistema,
éste lo aceptará. Por el contrario si el dato es incorrecto, es decir, que no es el tipo de dato que se espera,
entonces el sistema lo rechazará.
Para esta guía tendremos varios tipos de validación reunidos en una misma clase, para su posterior uso:
 Validación de campo en blancos o vacío:
Se da cuando el control no ha recibido ningún dato del usuario, es decir, cuando en una caja de texto
no se ha digitado ningún carácter diferente a espacios en blanco.
 Validación numérica:
Se da cuando se pide un dato numérico (entero o real) y el dato ingresado contiene caracteres
distintos a solo dígitos y signo en el caso de los enteros o en el caso de los reales solo dígitos signo y
separador de decimales (,).
 Validación de rango:
Se da cuando un dato además de cumplir con las dos anteriores validaciones, se hace necesario que
este cumpla con un rango. Ejemplos: Solo números positivos, valor Nota de un estudiante, valor en
una escala de temperaturas (Celsius, Fahrenheit, Kelvin,…), edades de adultos, entre otros.
 Validación por no selección:
Cuando se tiene una Lista desplegable con la primera opción que diga Seleccione, o una lista normal
con todas las opciones y el usuario no haya escogido una de las opciones. También con botones de
opción.
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Basado en las anteriores tipos de validaciones crearemos una clase general para utilizar en la GUI actual y en
otros proyectos a lo largo del curso, que necesite validación.
Clase final Validar
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
Ahora utilizar la clase Validar para hacer la validación de los controles de un formulario, es decir,
FrmAsociado
 Crear un método común para mostrar mensajes gráficos sobre la ventana, esto con el fin de
tener un código más corto y entendible. Para esto se debe importar la Clase JOptionPane.
 Agregar el método para limpiar los controles.
 Construir otro método para manejar la validación de los controles del JFrame FrmAsociado
Teniendo en cuenta las siguientes consideraciones:
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
La estructura del método (función) que validara todos los campos de la GUI:
Se puede notar que este método retorna un valor lógico (boolean) y recibe 3 tres parámetros,
que son los contenidos de las cajas de texto. Al final del método se retorna verdadero (true)
porque llegado a ese punto se ha debido validar todos los campos y por ende han cumplido
con la validación ya que retorna falso (false) en el momento que encuentre que un campo no
cumple con la verificación.
Ahora empecemos agregar los códigos necesarios para hacer la verificación de los campos.
1. Validar que los campos no estén vacíos o con solo espacios en blanco.
Hacer lo mismo con los campos Nombre y Apellidos
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
2. Verificar los datos numéricos, en este caso la identificación del asociado.
3. Luego de haber verificado que la identificación tienen un numero entero, se debe validar
que ese valor este en el rango para las identificación actualmente en Colombia.
4. También se deben validar la lista desplegable con los tipos de identificación y los botones
de opción con el género:
5. Por ultimo queda validar el ingreso de la fecha de nacimiento.
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
6. Ahora veamos el código completo:
Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés)
www.slideshare.net/emergar
7. Luego utilizar el evento de un botón de acción, para este caso será el Guardar, se hace
doble clic sobre el botón en el panel de diseño de GUI de NetBeans y aparecerá:
Dentro de este método que se ejecutara al dar clic sobre el botón guardar se escribirá el
siguiente código para que valide la GUI, usando la función validación hecha anteriormente.
Como podemos notar, lo primero es obtener los datos almacenados en las cajas de texto
de la GUI y después pasarlos como parámetros a la función validación para que en caso de
obtener una repuesta verdadera(true) se muestre el mensaje indicando que los datos
están correctamente validados.
Ahora solo queda indicar en la clase Controlador que se ejecute una instancia de la GUI FrmAsociado
al iniciar el proyecto.
Observando el método main del formulario JFrame FrmAsocido
Se debe copiar el código que aparece encerrado y pegarlo al método main de la clase Controlador,
para que ejecute al momento de iniciar el proyecto una instancia de la GUI FrmAsociado.

Contenu connexe

Tendances

1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad RelacionJuGGaLoFX
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionalesAngel Minga
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre ClasesUVM
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenariosUCATEBA
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Examen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoExamen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoBertha Canaviri
 
Ejemplo de Normalización con Modelo Entidad Relación y Modelo Relacional
Ejemplo de Normalización con Modelo Entidad Relación y Modelo RelacionalEjemplo de Normalización con Modelo Entidad Relación y Modelo Relacional
Ejemplo de Normalización con Modelo Entidad Relación y Modelo RelacionalDamelys Bracho
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 

Tendances (20)

1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Colecciones en Python
Colecciones en PythonColecciones en Python
Colecciones en Python
 
1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases1 2 2 Relaciones Entre Clases
1 2 2 Relaciones Entre Clases
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Javascript
JavascriptJavascript
Javascript
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion ejemplos de pruebas unitarias y de integracion
ejemplos de pruebas unitarias y de integracion
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Examen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoExamen final de base de datos ii solucionado
Examen final de base de datos ii solucionado
 
Ejemplo de Normalización con Modelo Entidad Relación y Modelo Relacional
Ejemplo de Normalización con Modelo Entidad Relación y Modelo RelacionalEjemplo de Normalización con Modelo Entidad Relación y Modelo Relacional
Ejemplo de Normalización con Modelo Entidad Relación y Modelo Relacional
 
Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 

En vedette

Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeansEmerson Garay
 
LLamar reportes de iReport con NetBeans
LLamar reportes de iReport  con NetBeansLLamar reportes de iReport  con NetBeans
LLamar reportes de iReport con NetBeansEmerson Garay
 
Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Emerson Garay
 
Configurar Joomla 2017
Configurar Joomla 2017Configurar Joomla 2017
Configurar Joomla 2017Emerson Garay
 
Sitio web (html) ejemplos 02
Sitio web (html) ejemplos 02Sitio web (html) ejemplos 02
Sitio web (html) ejemplos 02Emerson Garay
 
Sitio web (html) ejemplos 01
Sitio web (html) ejemplos 01Sitio web (html) ejemplos 01
Sitio web (html) ejemplos 01Emerson Garay
 
Instalar joomla 2017
Instalar joomla 2017Instalar joomla 2017
Instalar joomla 2017Emerson Garay
 
Modelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasModelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasEmerson Garay
 
Sitio web (boostrap carrusel de imagenes)
Sitio web (boostrap carrusel de imagenes)Sitio web (boostrap carrusel de imagenes)
Sitio web (boostrap carrusel de imagenes)Emerson Garay
 
Sitio web (bootstrap 3)
Sitio web (bootstrap 3)Sitio web (bootstrap 3)
Sitio web (bootstrap 3)Emerson Garay
 
Modelo entidad relacion bd campeonato
Modelo entidad relacion bd campeonatoModelo entidad relacion bd campeonato
Modelo entidad relacion bd campeonatoEmerson Garay
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
Sentencias SQL Update y Delete
Sentencias SQL Update y DeleteSentencias SQL Update y Delete
Sentencias SQL Update y DeleteEmerson Garay
 
Consulta sql de tabla computador en mysql
Consulta sql de tabla computador en mysqlConsulta sql de tabla computador en mysql
Consulta sql de tabla computador en mysqlEmerson Garay
 
Base datos mysql con java 01
Base datos mysql con java 01Base datos mysql con java 01
Base datos mysql con java 01Emerson Garay
 
Sentencia SQL INSERT
Sentencia SQL INSERTSentencia SQL INSERT
Sentencia SQL INSERTEmerson Garay
 
Array en java operaciones
Array en java operacionesArray en java operaciones
Array en java operacionesEmerson Garay
 
Crear una base de datos mysql con un script de sql
Crear una base de datos mysql con un script de sqlCrear una base de datos mysql con un script de sql
Crear una base de datos mysql con un script de sqlEmerson Garay
 

En vedette (20)

Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeans
 
LLamar reportes de iReport con NetBeans
LLamar reportes de iReport  con NetBeansLLamar reportes de iReport  con NetBeans
LLamar reportes de iReport con NetBeans
 
Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6Guía crear reportes con ireport 5.6
Guía crear reportes con ireport 5.6
 
Configurar Joomla 2017
Configurar Joomla 2017Configurar Joomla 2017
Configurar Joomla 2017
 
Sitio web (html) ejemplos 02
Sitio web (html) ejemplos 02Sitio web (html) ejemplos 02
Sitio web (html) ejemplos 02
 
Sitio web (html) ejemplos 01
Sitio web (html) ejemplos 01Sitio web (html) ejemplos 01
Sitio web (html) ejemplos 01
 
Instalar joomla 2017
Instalar joomla 2017Instalar joomla 2017
Instalar joomla 2017
 
Modelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasModelo entidad relación BD Matriculas
Modelo entidad relación BD Matriculas
 
Sitio web (boostrap carrusel de imagenes)
Sitio web (boostrap carrusel de imagenes)Sitio web (boostrap carrusel de imagenes)
Sitio web (boostrap carrusel de imagenes)
 
Sitio web (bootstrap 3)
Sitio web (bootstrap 3)Sitio web (bootstrap 3)
Sitio web (bootstrap 3)
 
Modelo entidad relacion bd campeonato
Modelo entidad relacion bd campeonatoModelo entidad relacion bd campeonato
Modelo entidad relacion bd campeonato
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
Sentencias SQL Update y Delete
Sentencias SQL Update y DeleteSentencias SQL Update y Delete
Sentencias SQL Update y Delete
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Consulta sql de tabla computador en mysql
Consulta sql de tabla computador en mysqlConsulta sql de tabla computador en mysql
Consulta sql de tabla computador en mysql
 
Mysql Iniciando
Mysql  IniciandoMysql  Iniciando
Mysql Iniciando
 
Base datos mysql con java 01
Base datos mysql con java 01Base datos mysql con java 01
Base datos mysql con java 01
 
Sentencia SQL INSERT
Sentencia SQL INSERTSentencia SQL INSERT
Sentencia SQL INSERT
 
Array en java operaciones
Array en java operacionesArray en java operaciones
Array en java operaciones
 
Crear una base de datos mysql con un script de sql
Crear una base de datos mysql con un script de sqlCrear una base de datos mysql con un script de sql
Crear una base de datos mysql con un script de sql
 

Similaire à Diseño y validacion GUI con java usando Netbeans

Similaire à Diseño y validacion GUI con java usando Netbeans (20)

Programacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_IProgramacion_II_Interfaz_grafica_guia_I
Programacion_II_Interfaz_grafica_guia_I
 
Graficas matlab
Graficas matlabGraficas matlab
Graficas matlab
 
Clase swing
Clase swingClase swing
Clase swing
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Practicas de Visual Basic 6
Practicas de Visual Basic 6Practicas de Visual Basic 6
Practicas de Visual Basic 6
 
Grp 203037 7_colaborativo2
Grp 203037 7_colaborativo2Grp 203037 7_colaborativo2
Grp 203037 7_colaborativo2
 
Presentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlabPresentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlab
 
Guia para programar_vba_excel
Guia para programar_vba_excelGuia para programar_vba_excel
Guia para programar_vba_excel
 
Visual basic ..!
Visual basic ..!Visual basic ..!
Visual basic ..!
 
Controles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdfControles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdf
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
21158360 visual-basic
21158360 visual-basic21158360 visual-basic
21158360 visual-basic
 
Taller info decimo
Taller info decimoTaller info decimo
Taller info decimo
 
Taller info decimo
Taller info decimoTaller info decimo
Taller info decimo
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Tema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioTema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuario
 
Computación 3 cb09302
Computación 3 cb09302Computación 3 cb09302
Computación 3 cb09302
 
Computación 3 cb09302
Computación 3 cb09302Computación 3 cb09302
Computación 3 cb09302
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 

Plus de Emerson Garay

Distancia menor x y en rectángulo
Distancia menor x y en rectánguloDistancia menor x y en rectángulo
Distancia menor x y en rectánguloEmerson Garay
 
Scratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasScratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasEmerson Garay
 
Menus de microsoft word 2016
Menus de microsoft word 2016Menus de microsoft word 2016
Menus de microsoft word 2016Emerson Garay
 
Menús de microsoft word 2013 plus
Menús de microsoft word 2013 plusMenús de microsoft word 2013 plus
Menús de microsoft word 2013 plusEmerson Garay
 
Menús de microsoft word 2010
Menús de microsoft word 2010Menús de microsoft word 2010
Menús de microsoft word 2010Emerson Garay
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
 
Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Emerson Garay
 
Sitio web (bootstrap4)
Sitio web (bootstrap4)Sitio web (bootstrap4)
Sitio web (bootstrap4)Emerson Garay
 
Primeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlPrimeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlEmerson Garay
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: ListaEmerson Garay
 
Controles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidControles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidEmerson Garay
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : ColaEmerson Garay
 
Esquema de Bases de Datos
Esquema de Bases de DatosEsquema de Bases de Datos
Esquema de Bases de DatosEmerson Garay
 
Calculadora Básica en Android
Calculadora Básica en AndroidCalculadora Básica en Android
Calculadora Básica en AndroidEmerson Garay
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: PilaEmerson Garay
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a AndroidEmerson Garay
 

Plus de Emerson Garay (20)

Distancia menor x y en rectángulo
Distancia menor x y en rectánguloDistancia menor x y en rectángulo
Distancia menor x y en rectángulo
 
Mind meister
Mind meisterMind meister
Mind meister
 
Scratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanasScratch 3 - Juego atrapar manzanas
Scratch 3 - Juego atrapar manzanas
 
Menus de microsoft word 2016
Menus de microsoft word 2016Menus de microsoft word 2016
Menus de microsoft word 2016
 
Menús de microsoft word 2013 plus
Menús de microsoft word 2013 plusMenús de microsoft word 2013 plus
Menús de microsoft word 2013 plus
 
Menús de microsoft word 2010
Menús de microsoft word 2010Menús de microsoft word 2010
Menús de microsoft word 2010
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)Sitio web (boostrap 4 carrusel de imagenes)
Sitio web (boostrap 4 carrusel de imagenes)
 
Sitio web (bootstrap4)
Sitio web (bootstrap4)Sitio web (bootstrap4)
Sitio web (bootstrap4)
 
Primeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD MysqlPrimeros Pasos Aplicacion Java conexión BD Mysql
Primeros Pasos Aplicacion Java conexión BD Mysql
 
Intent en android
Intent en androidIntent en android
Intent en android
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Controles Básicos de Interfaz en Android
Controles Básicos de Interfaz en AndroidControles Básicos de Interfaz en Android
Controles Básicos de Interfaz en Android
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : Cola
 
Esquema de Bases de Datos
Esquema de Bases de DatosEsquema de Bases de Datos
Esquema de Bases de Datos
 
Calculadora Básica en Android
Calculadora Básica en AndroidCalculadora Básica en Android
Calculadora Básica en Android
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: Pila
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Búsqueda lineal
Búsqueda linealBúsqueda lineal
Búsqueda lineal
 
Búsqueda Binaria
Búsqueda BinariaBúsqueda Binaria
Búsqueda Binaria
 

Dernier

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Dernier (20)

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Diseño y validacion GUI con java usando Netbeans

  • 1. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Las características básicas para el buen diseño de una interfaz gráfica de usuario (GUI): 1. Debe ser Intuitiva (Relativamente fáciles de aprender y utilizar) 2. Mantener una interfaz consistente en su: fuente, colores, distribución de los controles, terminología 3. Diseño ergonómico mediante el establecimiento de menús, barras de acciones e iconos de fácil acceso 4. Las operaciones serán rápidas y reversibles(que se puedan cancelar) 5. Existencia de herramientas de Ayuda y Consulta 6. Mantener informado al usuario de su estado, mensajes que le indiquen el resultado de sus acciones, antes y después de confirmarlas. 7. Tratamiento de errores, permitiendo al usuario tomar acciones, según el manual de ayuda.
  • 2. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar GUIA Crear la GUI para almacenar la información de una tabla de bases de datos que va contener los registros de asociados de una cooperativa de ahorros. Tabla: TblAsociado Identificación: Entero Largo TipoID: { R.C., T.I., C.C., Pasaporte, C. Extranjería } Nombre: Texto Apellidos: Texto Género: { Femenino, Masculino } Nacimiento: Fecha De la tabla anterior se deduce que los campos Identificación, Nombre y Apellidos deben solicitarse con una caja de texto (JTextField) que permita capturar las diferentes posibilidades, ya que existen muchas identificaciones, nombres y apellidos diferentes que pueden digitarse. El tipo de identificación se sugiere solicitarlo con una lista desplegable (JComboBox) para que el usuario seleccione una. El género solo tiene dos posibilidades, por lo cual dos botones de opción (JRadioButton) son adecuados. Para la fecha de nacimiento se puede utilizar un control de fecha (JDateChooser) de la librería JCalendar.
  • 3. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Detallado de los elementos o controles que contiene la interfaz. 1. 6 etiquetas – JLabel 2. 3 Cajas de texto – JTexField 3. 2 botones de opción – JRadioButton 4. Un grupo de botones – ButtonGroup este no se muestra en el interfaz y es el encargado de que los botones de opción que se le agreguen, solo sea posible seleccionar uno. 5. 5 Botones de acción – JButton 6. Una lista desplegable – JComboBox 7. Un seleccionador de fecha – JDateChooser Ahora vamos a crear lo anterior utilizando el IDE NetBeans 1. Acceder a NetBeans,  al menú Archivo  clic en Proyecto Nuevo…  escoger en Categorías Java y en Proyectos la opción Java Aplicacion  clic en el botón Siguiente
  • 4. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar 2. Llenar los datos del proyecto:  Nombre del proyecto: PrjCooperativa  Ubicación del Proyecto: Por defecto o donde queramos colocar nuestros proyectos de NetBeans  Crear clase principal: pckcooperativa.Controlador  Clic en el botón Terminar
  • 5. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar 3. Agregar un JFrame al paquete pckcooperativa, para crear la GUI planteada:  Nombre de la clase: FrmAsociado  Paquete: pckcooperativa  Clic en el botón Terminar
  • 6. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Adicionamos los controles con los siguientes nombres y propiedades. (JFrame) Formulario Propiedades Principal title resizable layout Código / Normas sobre el tamaño de los formularios Formulario donde está la IGU COOPERATIVA / REGISTRO DE ASOCIADOS false null Generar código para cambiar el tamaño
  • 7. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Componente swing Propiedades Campo de Texto : JTextField Nombre del control editable text 1 txtId true 2 txtNombre true 3 txtApellidos true Componente swing Propiedades Botón de Opción : JRadioButton Nombre del control selected text 1 opcF false Femenino 2 opcM false Masculino 1 ButtonGroup: grupoGenero Componente swing Propiedades Lista desplegable: JComboBox Nombre del control model 1 cmbTipoId -Seleccione- Registro Civil Tarjeta de Identidad Cedula de Ciudadanía Cedula de Extranjería Pasaporte
  • 8. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Componente swing (Librería externa jCalendar) Propiedades Seleccionador de Fecha : JDateChooser Nombre del control dateFormatString 1 jdcNacimiento d/MM/yyyy Componente swing Propiedades Botón de acción : JButton Nombre del control text 1 butBuscar “BUSCAR” 2 butGuardar “GUARDAR” 3 butActualizar “ACTUALIZAR” 4 butLimpiar “LIMPIAR” 5 butCerrar “CERRAR” La construcción de la GUI es muy fácil con el IDE NetBeans, solo necesita ir seleccionado el control que quiere agregar al formulario, con un clic selecciona al elemento que está en la paleta de controles del NetBeans y se deja en el formulario en la posición que se requiera. Controles de la librería externa jCalendar
  • 9. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Código del método initComponents() generado por el IDE del NetBeans, clic en el símbolo + para ver Generated Code
  • 10. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar
  • 11. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Método constructor del formulario, este código hay que adicionarlo.
  • 12. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar EVENTOS Los eventos permiten al programa interactuar con el usuario. En java los eventos están organizados con una jerarquía de clases dentro del paquete java.awt.event, la clase padre de los eventos es java.awt.Event Para este guía se trabajara el evento clic del botón. VALIDACION La validación de datos hace referencia a verificar, controlar o filtrar cada una de las entradas de datos que provienen desde el exterior del sistema. Si el dato es correcto, es decir, si es el tipo de dato que espera el sistema, éste lo aceptará. Por el contrario si el dato es incorrecto, es decir, que no es el tipo de dato que se espera, entonces el sistema lo rechazará. Para esta guía tendremos varios tipos de validación reunidos en una misma clase, para su posterior uso:  Validación de campo en blancos o vacío: Se da cuando el control no ha recibido ningún dato del usuario, es decir, cuando en una caja de texto no se ha digitado ningún carácter diferente a espacios en blanco.  Validación numérica: Se da cuando se pide un dato numérico (entero o real) y el dato ingresado contiene caracteres distintos a solo dígitos y signo en el caso de los enteros o en el caso de los reales solo dígitos signo y separador de decimales (,).  Validación de rango: Se da cuando un dato además de cumplir con las dos anteriores validaciones, se hace necesario que este cumpla con un rango. Ejemplos: Solo números positivos, valor Nota de un estudiante, valor en una escala de temperaturas (Celsius, Fahrenheit, Kelvin,…), edades de adultos, entre otros.  Validación por no selección: Cuando se tiene una Lista desplegable con la primera opción que diga Seleccione, o una lista normal con todas las opciones y el usuario no haya escogido una de las opciones. También con botones de opción.
  • 13. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Basado en las anteriores tipos de validaciones crearemos una clase general para utilizar en la GUI actual y en otros proyectos a lo largo del curso, que necesite validación. Clase final Validar
  • 14. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar Ahora utilizar la clase Validar para hacer la validación de los controles de un formulario, es decir, FrmAsociado  Crear un método común para mostrar mensajes gráficos sobre la ventana, esto con el fin de tener un código más corto y entendible. Para esto se debe importar la Clase JOptionPane.  Agregar el método para limpiar los controles.  Construir otro método para manejar la validación de los controles del JFrame FrmAsociado Teniendo en cuenta las siguientes consideraciones:
  • 15. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar La estructura del método (función) que validara todos los campos de la GUI: Se puede notar que este método retorna un valor lógico (boolean) y recibe 3 tres parámetros, que son los contenidos de las cajas de texto. Al final del método se retorna verdadero (true) porque llegado a ese punto se ha debido validar todos los campos y por ende han cumplido con la validación ya que retorna falso (false) en el momento que encuentre que un campo no cumple con la verificación. Ahora empecemos agregar los códigos necesarios para hacer la verificación de los campos. 1. Validar que los campos no estén vacíos o con solo espacios en blanco. Hacer lo mismo con los campos Nombre y Apellidos
  • 16. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar 2. Verificar los datos numéricos, en este caso la identificación del asociado. 3. Luego de haber verificado que la identificación tienen un numero entero, se debe validar que ese valor este en el rango para las identificación actualmente en Colombia. 4. También se deben validar la lista desplegable con los tipos de identificación y los botones de opción con el género: 5. Por ultimo queda validar el ingreso de la fecha de nacimiento.
  • 17. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar 6. Ahora veamos el código completo:
  • 18. Programación Avanzada: Guía 1 - Diseño y validación de interfaz gráfica de usuario (IGU o GUI siglas del inglés) www.slideshare.net/emergar 7. Luego utilizar el evento de un botón de acción, para este caso será el Guardar, se hace doble clic sobre el botón en el panel de diseño de GUI de NetBeans y aparecerá: Dentro de este método que se ejecutara al dar clic sobre el botón guardar se escribirá el siguiente código para que valide la GUI, usando la función validación hecha anteriormente. Como podemos notar, lo primero es obtener los datos almacenados en las cajas de texto de la GUI y después pasarlos como parámetros a la función validación para que en caso de obtener una repuesta verdadera(true) se muestre el mensaje indicando que los datos están correctamente validados. Ahora solo queda indicar en la clase Controlador que se ejecute una instancia de la GUI FrmAsociado al iniciar el proyecto. Observando el método main del formulario JFrame FrmAsocido Se debe copiar el código que aparece encerrado y pegarlo al método main de la clase Controlador, para que ejecute al momento de iniciar el proyecto una instancia de la GUI FrmAsociado.