Trabajando con GUI en Java Componente java.swing Es muy común a la hora de crear aplicaciones de escritorios querer utilizar formularios que interactúen con los usuarios. Claro esto hace que tu aplicación sea amigable y querida por los mismos. Java provee un paquete llamado.swing que agrupa componentes ya definidos y que serán de mucha utilidad para el programador a la hora de diseñar nuestras aplicaciones; en la Figura se observa un formulario creado con componentes swing. Empezaremos paso a paso para lo construcción de este formulario: Lo vamos a construir en dos pasos primeros nos preocuparemos por el diseño de la GUI y luego empezaremos a programar nuestra aplicación: PARTE I: DISEÑO LA GUI Primero debemos ingresar al NetBeans vamos a crear un nuevo proyecto, ingresando al menú Archivo Proyecto Nuevo, tal como se observa en la Figura. Aquí nos mostrará el cuadro de dialogo Proyecto Nuevo, seleccionamos la categoría General y como proyecto Aplicación Java, tal como se observa en la Figura. Curso: Técnica y Manejo de Archivos ~ 1 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
Colocamos el nombre del proyecto e indicamos la ubicación donde guardaremos. Ahora procederemos a crear 2 paquetes: Ahora seleccionamos el paquete Formularios en el cual vamos a insertar un JFrame del componente Swing, pulsamos clic derecho en el paquete luego seleccionamos la opción Nuevo, y finalmente seleccionamos del submenú la opción Formulario JFrame. Cuyo nombre será: FrmCuadrado. Ahora nos encontramos dentro del entorno del paquete java.swing, un ambiente muy amigable, que no tiene nada que envidiar a otros leguajes visuales. A continuación veamos las partes del entorno. Curso: Técnica y Manejo de Archivos ~ 2 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
Paleta de Controles Visuales Formulario JFrame Editor de Propiedades El formulario JFrame es el lugar donde se irán colocando los controles de diseño para ir formando nuestra Interfaz Gráfica de Usuario, esto queda a criterio del diseñador de la interfaz, pero debo mencionar que existen normas de diseño de GUI que rigen en la Ingeniería de software que se debería tener en cuenta. La Paleta de Controles, agrupa todos los controles (componentes Beans) que el paquete Swing trae, ejemplo JButton, JPanel, JLabel, JTextField, entre otros. Con el Editor de Propiedades podemos modificar las propiedades de los controles en cualquier momento. Ventana: FrmCuadrado Ejemplo 01: Desarrollar una aplicación que permita elevar un numero al cuadrado. Controles Nº Controles 1 3 2 3 Propiedades: Controles Propiedad Valor Descripción JFrame JPanel title Normas sobre el tamaño del formulario Cuadrado de un Numero Generar Código para cambiar el tamaño. Titulo de la Ventana Personalizar tamaño Anchura 330 Ancho de la Ventana Altura 185 Alto de la Ventana resizable Border TitleBorder: No Modificar Tamaño Titulo del Grupo. JLabel1 text Número Mensaje de la Etiqueta JLabel2 Text Resultado Mensaje de la Etiqueta jtextfield1 Variable txtnumero Nombre caja de texto Curso: Técnica y Manejo de Archivos ~ 3 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
jtextfield2 jbutton1 jbutton2 jbutton3 Text Limpiar contenido HorizontalAlign ment CENTER Alineación Variable txtresultado Nombre caja de texto Text Limpiar contenido editable No se puede modificar el contenido HorizontalAlign ment CENTER Alineación Variable btnnuevo Nombre del Botón Text Nuevo Mensaje del Botón Variable btncalcular Nombre del Botón Text Calcular Mensaje del Botón Variable btncerrar Nombre del Botón Text Cerrar Mensaje del Botón Recuerde utilizar la propiedad Variable para aquellos controles que van a intervenir en el código. Seleccione el control y luego clic derecho: Diseño de la Interfaz Para las imágenes de los botones utilice la propiedad. Estas imágenes pueden ser de extensión JPEG, PNG, GIF, coloque las imágenes en el paquete que hemos creado en el proyecto. Código para los controles: //método utilizado para habilitar controles //Código para el evento Open de la Ventana Curso: Técnica y Manejo de Archivos ~ 4 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
//Código para el Botón Nuevo //Código para el Botón Calcular //Código para el Botón Cerrar Programa en Funcionamiento Curso: Técnica y Manejo de Archivos ~ 5 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
Ejemplo 02: Este ejemplo permitirá calcular un presupuesto para un determinado cliente, para lo cual necesitaremos los siguientes controles: Agregue un nuevo JFrame y guárdelo con el nombre: FrmPresupuesto. Control jcombobox1 jtextfield1 jtextfield2 jtextfield3 jtextfield4 jtextfield5 Propiedad: Valor Nombre: cbocliente Model: Hugo Perez Paco Lopez Luis Reyes Nombre: txtmicro Nombre: txtplaca Nombre: txtmemoria Nombre: txtdisco Nombre: txtsubtotal jtextfield6 Nombre: txtigv jtextfield7 Nombre: txttotal Curso: Técnica y Manejo de Archivos ~ 6 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
Programa en funcionamiento Curso: Técnica y Manejo de Archivos ~ 7 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado
EJERCICIOS PROPUESTOS 1) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. 2) Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganará después de un mes si el banco paga a razón de 2% mensual. Realiza un programa que calcule dicha ganancia teniendo como entrada el capital invertido. Muestre todos los datos. 3) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. 4) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 5) Dados dos números a y b, se desea intercambiar sus valores. Utilizando una variable auxiliar Sin la utilización de variables auxiliares. Ejemplo : a=5 y b=10 debe mostrar a=10 y b=5 a=123 y b=3 debe mostrar a=3 y b=123 6) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida. 7) Desarrollar una solución que permita ingresar la suma y diferencia de dos números enteros y en base a estas cantidades calcular y mostrar los números. 8) Escriba una aplicación que reciba tres enteros del usuario y evalué la siguiente ecuación: 9) Dada la base y la altura de un triangulo calcular su área y su perímetro. area = (b*h)/2 perim = 2 * (b + h) 10) Ingresar 3 números enteros positivos y determinar cual de ellos es el mayor y el menor. 11) Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación: La calificación de Matemáticas se obtiene de la siguiente manera: Examen 90% Promedio de tareas 10% En esta materia se pidió un total de tres tareas. La calificación de Física se obtiene de la siguiente manera: Examen 80% Promedio de tareas 20% En esta materia se pidió un total de dos tareas. La calificación de Química se obtiene de la siguiente manera: Examen 85% Promedio de tareas 15% En esta materia se pidió un promedio de tres tareas. Curso: Técnica y Manejo de Archivos ~ 8 ~ DOCENTE: Ing. CIP Fabián Silva Alvarado