Prueba Programacion PDF
Prueba Programacion PDF
Prueba_P2
PROGRAMACIÓN
NRC: 7450
Presentacion
Paso 3: En nuestro package Presentacion le damos click secundario, seleccionamos "new"
y le damos a "JFrame Form". (En caso de no estar abajo sale other... buscan "Swing GUI
Forms" y dentro de él tiene que aparecer "JFrame Form”).
Lo nombraré de "InterfazFormulario"
En este ejemplo pediremos los siguientes datos (Nombre, apellidos, cédula, email, teléfono),
lo cuales serán obligatorios.
Para este fin tendremos estos jlabel: Nombre, Apellidos, Cedula, Email, Telefono y que sus
nombres de variables serán "JLNombre" en el caso del nombre...
(en caso de tener título crear un jlabel con el título).
Guardar = BotonGuardar;
Limpiar = BotonLimpiar;
Salir = BotonSalir.
Paso 7: Agregaremos fondo a un Formulario, esto lo aremos con una clase y una imagen...
Crearemos una clase llamada "FondoFormulario" (Java Class, en Presentacion) y a su vez
crearemos un nuevo package llamado "Presentacion.Imagenes" (donde pondremos todas las
imagenes).
En FondoFormulario.java pondremos el siguiente código:
package Presentacion;
/**
*/
import java.awt.Graphics;
import javax.swing.ImageIcon;
public FondoFormulario(){
this.setSize(395, 493);
}
@ Override
setOpaque(false);
super.paintComponent(g);
Paso 8:
Le damos Click secundario sobre el JForm principal y vamos a "Events" -- "Window" --
"windowOpened"
(deberán importar la librería "import java.awt.BorderLayout ; " eso se debe escribir abajo del
nombre del package )
Paso 9: Un detalle importante tendremos que cambiar de color los JLABEL dado que el
fondo que escogí es oscuro por lo tanto las dejare amarillas y para efectos del ejemplo
también sirve que vean como se hace, Click secundario sobre el JLabel a cambiar el color y
"Propiedades"
Paso 10: Pero su tamaño puede ser cambiado por el usuario, por lo que debemos meternos
de nuevo a las propiedades del JForm principal y cambiar esa virtud...
Ahora la parte programable de este Proyecto
N°1.- Empezaremos por el más fácil el BotonSalir que le daremos clic secundario
Iremos a "Events" - "Action" - "ActionPerformed". y escribiremos ahí "dispose ( ) ; " o
"System.exit(0) ;" o "this.dispose ( ) ;" cualquiera nos sirve pero deben elegir una y dado que
solo es una ventana YO elijo "dispose ( ) ;"
N°2.- Ahora programaremos el BotonLimpiar con el cual dejaremos todos los JTextField
nuevamente sin ninguna escritura. Esto se hace de la siguiente manera ejemplo:
txtNombre.setText(““); con esto se dice que a la variable txtNombre le llevamos (set) un
String vacío (““) y así con todas las variables. Nos quedaría un código así:
N°3.- Se programará el botón Guardar con las siguientes cosas. No se guardará en ninguna
parte solamente en RAM (de momento), se validará que se hallan llenado los campos
obligatorios y se mostrará en un JOptionPane lo que se guardará a futuro...
N°3.2.- Ningún nombre y ningún apellido posee números, el teléfono no posee letras, la
Cedula no posee letras por lo cual aquí haremos algo interesante que solucionara algunas
cosas que hay que hacer para validar números...(nos evitaremos el validarlos con un try catch
que algunas veces queda mal y el error es mucho más grande)...
Diremos que el tipo de tecla que será capturado en el JTextField serán letras y cuando sea un
número diremos que eso no se escriba y que se consuma el evento... esto lo haremos de la
siguiente manera.
Nos posamos sobre el JTextField que queramos editar, le damos click secundario vamos
"Events" -- "Key" -- "KeyTyped"... ahí capturamos el evento (que es cuando el usuario
aprieta una tecla) en un char y lo analizamos y decimos al programa, ¿es un dígito char? si
es un dígito entonces consumimos el evento (ósea lo hacemos nulo, que no lo escriba en el
JTextField), sino solo se escribe... (Verán cómo les servirá en un futuro esta parte).
Y así quedaría cuando queremos introducir solo números.
N°3.3.- Ahora veremos que nuestro usuario no meta demasiados caracteres y en algunos
casos solo los necesarios, para practicar el ejercicio solo se hará con la longitud del texto
por lo cual también debemos entrar en el KeyTyped contar la longitud de nuestro texto y si
es mayor a la longitud que nosotros queremos dar entonces que consuma el evento...
(se añade arriba del paso 3.2 como veremos a continuación)
N°4.- Haremos que cuando sea llenado un campo "aparezca" una imagen de un Ticket al lado
haciendo semejanza de que el campo esta correctamente llenado... veamos cómo se hace
esto...
N°4.1.- Crearemos JLabels del porte de nuestra imagen o del tamaño que necesitemos en este
ejercicio se necesitan 5 JLabels para ingresar imágenes.
Agrandaremos el JFrame principal para tener espacio y los colocaremos en el (los JLabels)
primero los dejaremos de un porte diferente y luego borramos lo que dice... ahora le daremos
click secundario 1.- cambiaremos su nombre de variable por
ejemplo: JLNombre --- txtNombre --- JLImagenNombre y así con todas los JLabels que
contendrán imágenes teniendo esto le diremos cuál será su tamaño, el cual para este ejercicio
lo dejaremos en 30 x 30 de la siguiente manera:
N°4.2.- Programaremos el JTextField para que cuando se rellene y el usuario pase a otra
casilla salga el ticket verde. Esto se hace con el evento llamado FocusLost
entonces en el JTextField le damos click secundario "Events" -- "Focus" -- "FocusLost"
En el cual preguntamos si la longitud del texto escrito es superior a 2 o 3 letras entonces que
el JLabel de la imagen cambie por un ticket caso contrario que la imagen sea un null. lo que
se hace de la siguiente manera: (primero debes iniciar una variable que contenga nuestro
ícono de la siguiente manera y en ese lugar dado que la ocuparemos más de una vez...):
Y luego hacemos vamos a "Events" -- "Focus" -- "FocusLost"
Una vez creado esto con todos nuestros JTextField tendremos que reeditar nuestro fondo
dado que ahora no tiene las mismas dimensiones entonces para saber las dimensiones de
nuestro JFrame principal damos doble click en cualquier borde de este y nos aparecerá un
mensaje que nos dirá el largo y ancho separados por una coma...
Luego en FocusLost del txtRut haremos unos ciclos que permiten calcular el código
verificador.
Es un poco difícil de entender quizá no me especifique bien, pero si lo ocuparán dirán "Que
clase de brujería es esta". Pero si navegan un rato por la web verán que es lo mismo que
hacen todos para calcularlo
Negocio.Control
En esta parte crearemos una clase la cual poseerá solo atributos y en casos apartados puede
tener uno que otro método entonces dentro de Negocio.Control le damos clic secundario y
"New" -- "Java Class".
Yo le llamare "Persona" y le daré los atributos que pedimos en la interfaz gráfica, hare un
constructor por defecto y uno con valores por parámetros, nos quedara algo así:
Negocio.Modelo