Ingeniero Informático
Contenido
PARTE 1. ............................................................................................................................................................... 3
MANUAL DE CREACIÓN DE UNA APLICACIÓN DE JAVA ESCRITORIO UTILIZANDO EL IDE DE PROGRAMACIÓN
NETBEANS. ........................................................................................................................................................... 3
PASOS PARA LA CREACIÓN DEL PROYECTO ........................................................................................................ 8
PARTE 2. ............................................................................................................................................................. 12
CÓDIGOS PARA NUESTRA APLICACIÓN DE ESCRITORIO .................................................................................. 12
PARTE 3. ............................................................................................................................................................. 25
PROGRAMACIÓN DE EVENTOS PARA LOS BOTONES ....................................................................................... 25
ENTIDAD ..................................................................................................................................................... 27
DAOS .......................................................................................................................................................... 34
PARTE 4. ............................................................................................................................................................. 41
INVOCACIÓN DE MÉTODOS DENTRO DE LOS BOTONES .................................................................................. 41
PARTE 1.
Paso 1:
Paso 3:
Una vez terminado de ingresar el nombre y modificar los elementos que se deseen
1. la capa de la vista: esta capa es donde estarán los distintos java.class que
serán utilizados para mostrar, acá estarán los JFrame que conformarán
nuestra aplicación.
2. La capa controladora: esta capa está conformada principalmente por los
java.class que contendrán los distintos métodos, procedimientos y funciones
que necesita la aplicación para funcionar, entre ellos tenemos los métodos y
funciones principales como las conexiones a las bases de datos, el abrir,
cerrar, leer y escribir en archivos de texto, los métodos del CRUD (créate,
read, update, delete) que podamos necesitar en nuestros proyectos.
Para crear estas capas en Netbeans debemos crear java paquetes o JavaPackage, estos
paquetes dentro de nuestro proyecto, se convertirán en carpetas, las cuales serán
utilizadas para almacenar los java.class necesarios para nuestro proyecto.
Es acá donde daremos nombre a las distintas capas que utilizaremos en nuestro
proyecto, quedando así nuestro proyecto:
Nótese que se han creado dos nuevos elementos un paquete vista y un paquete
persistencia, este último es donde colocaremos los java.class, que conforman la parte
del controlador. Inicialmente utilizaremos dos capas, pero en proyectos más
estructurados y más avanzados a los que estamos desarrollando existirán otras capas
adicionales a estas.
Ya con las capas creadas procedemos a crear los java.class necesarios para nuestra
aplicación de escritorio para ellos lo que tenemos que hacer es lo siguiente:
frmFormularioVentas
una vez nombrado el java class con el nombre correspondiente a lo que vamos
a crear en el procedemos a escribir nuestro código.
PARTE 2.
Ya tenemos todo listo para empezar a crear nuestra aplicación, es en este momento
donde tenemos que escribir los códigos, comandos funciones, métodos y
procedimientos basados en el lenguaje de programación java que nuestra aplicación
necesitara. Para dar comienzo a esto lo primero que debemos hacer es crear un diseño
de lo que vamos a construir, esto con el fin de tener una guía o modelo para la creación
de nuestra aplicación, muchas veces este diseño inicial estará dado por una persona
que se encargó de levantar los requerimientos de proyecto que se llama el analista, el
cual da una visión inicial del proyecto y de las necesidades del cliente. En nuestro caso
nuestro cliente somos nosotros mismos, aunque el objetivo de esta aplicación es poder
brindar un programa que solucione un problema matemático.
Para crear nuestras ventanas y formularios lo que debemos hacer una vez tenemos
listo el java.class es empezar a agregar códigos el primer código que debemos agregar
es el siguiente:
Agregamos la sentencia extends JFrame esta nos permite crear una extensión de la
clase JFrame que es la clase donde se encuentran todos los métodos para crear una
ventana, esta clase pertenece a la librería swing de javax.
Ya una vez agregada esta línea a nuestra ventana podemos ir a nuestro java.class donde
tenemos el método main, que previamente fue creado por el IDE de Netbeans y
agregamos el código con el cual podemos ver nuestra ventana en ejecución asi:
Primero creamos el objeto tipo ventana openVentana, luego hacemos uso de una de
las funciones del objeto y es hacerlo visible con setVisible(true).
Listo ya tenemos la primera ventana de nuestra aplicación ahora vamos a ponerle los
elementos necesarios en nuestro caso vamos a hacer una ventana con los siguientes
elementos:
Una vez que has declarado los distintos elementos, como ya lo hemos indicado
anteriormente respetando los estándares de programación.
El siguiente paso en la creación de nuestra ventana es la construcción de la ventana
para ello utilizaremos un elemento de las clases de java que se denomina el constructor
Dentro del constructor lo primero que debemos hacer es establecer algunas
propiedades las cuales nos van ayudar en la visualización y el funcionamiento de la
ventana, realizado esto debemos establecer ya los elementos de la ventana, para ello
existen varias formas de hacerlo acá dos formas la primera es coger cada elemento y
establecer primero construir el elemento, darle las propiedades (color, tipo de letra,
tamaño de letra), fijar el elemento al panel, o ventana o escritorio según sea el
elemento, y por ultimo darle un tamaño al elemento y ubicarlo en una posición; esta
posición está formada por 4 elementos: x, y, width, height, las dos primeras x & y son
la ubicación en la pantalla según el plano cartesiano invertido de la ventana.
Los otros dos elementos width y height son el ancho y el alto del elemento.
Una vez realizado esto el resultado que veremos es el siguiente:
La otra forma en la cual podemos crear los elementos dentro del constructor de
nuestra ventana es el siguiente:
1. Definir cada objeto creándolo con la instrucción = new, y el tipo de elemento
que estamos creando ejemplo:
btnAceptar = new JButton(“Aceptar”);
2. Definir las propiedades de cada elemento ya sea tipo de letra, forma y tamaño
como el color del elemento cada uno en secuencia según la cantidad de
elementos que se posean ejemplo:
lblnombre.setForeground(Color.red);
lblnombre.setFont(new java.awt.Font("Tekton Pro Cond", 1, 14));
3. Una vez establecidos las propiedades de los elementos y sus propiedades
agregamos todos ellos al panel, al escritorio o a la ventana directamente asi:
add(lblNombre);
4. Por ultimo ubicamos los elementos dentro del panel, escritorio o ventana y le
proporcionamos un tamaño a este según sea el elemento o el diseño que
tenemos así:
lblnombre.setBounds(20,20,150,30);
Nótese que en la imagen anterior tenemos un error en una línea de código esto sucede
porque tenemos un elemento que no debe ir y es el siguiente:
Dentro de los paréntesis tenemos unas palabras Icono – o imagen, estas nos están
diciendo que en este espacio debemos tener un objeto con una referencia a una
imagen o un icono, esta imagen debe ser declarada y creada previamente al llamado
de esta línea de código donde lo vamos a utilizar.
Ahora vamos a insertar y manejar imágenes en nuestros elementos, para insertar una
imagen tenemos que hacer lo siguiente:
1. Debemos crear una carpeta o folder dentro de nuestro proyecto que servirá de
repositorio o almacenaje para nuestras imágenes asi:
Sobre el paquete fuente o source package damos clic derecho con el mouse,
luego en nuevo y buscamos folder o carpeta, en caso de que no lo encuentres
en la lista debes seguir la siguiente ruta:
Nuevo – otros, cuando le demos demos clic izquierdo se nos abre una ventana
en la cual podemos buscar el folder,
De esta forma le asignamos un objeto tipo icono a un objeto tipo JLabel, en este
caso al objeto lblImagen, que dentro de nuestra aplicación será una decoración
para el formulario de inicio y contendrá en él, el logo de institucional de la
universidad
5. Para agregar un icono a un Jbutton lo que tenemos que tener presente primero
es que se llama exactamente igual que hicimos para el JLabel, y debemos agregar
el elemento en la siguiente línea de código:
1
Texto extraído de la página web https://mundosica.com/el-metodo-getclass-explicacion-y-uso-practico-construyendo-
librerias-en-java-i/
JButton (“Aceptar”, icoBtnAceptar), acá tenemos dos partes en esta instrucción
una parte la que está en comillas será el nombre que visualizaremos en el botón
cuando ejecutemos la aplicación y la segunda es el nombre del icono o imagen
que le colocaremos al botón para adornarlo. En ciertas ocasiones no es necesario
colocar el nombre al botón ya que el icono es lo suficientemente especifico de
la función para la cual se utilizó el botón.
Para la alineación de los iconos y los textos dentro de los botones los comandos
son los siguientes:
Como se puede observar para el ajuste de los elementos dentro de los botones
se requiere de tres comandos ellos son:
setHorizontalTextPosition.
setVerticalAlignment.
setVerticalTextPosition.
Estos tres comandos nos permiten el ajuste del texto y a alineación en dos ejes
vertical y horizontal, las alineaciones que tenemos disponibles son:
TOP
BOTTOM
LEFT
RIGHT
CENTER
Básicamente tenemos estas 5 opciones para la alineación de los elementos
dentro de los botones, cabe anotar que esta alineación de texto y de imágenes
se pueden aplicar a otros elementos pertenecientes a las librerías Swing y awt,
que son las que nos permiten colocar elementos gráficos al formulario.
El resultado que obtenemos luego de incluir estas propiedades a nuestros
botones es la siguiente:
Como podemos ver nuestra ventana va cogiendo forma, todo esto gracias a las
propiedades únicas de cada elemento que nos permiten cambiar los aspectos
físicos de cada una de ellas. Para esta ventana lo único que nos queda faltando
es colocar los campos de texto JtextField y JPassword, que serán los elementos
donde los usuarios de la aplicación podrán escribir textos. Para colocar los
campos de textos tenemos los siguientes comandos:
1.
2.
3.
4.
5.
6.
Como hemos visto hasta el momento esto son los pasos iniciales para crear una
ventana utilizando comandos básicos en Netbeans, pero hasta el momento solo
es visual, si tratamos de presionar alguno de los botones ellos no van a funcionar,
ya que para que esto suceda debemos agregar unos métodos y funciones que
nos permitirán ejecutar acciones con los botones, como sus nombres lo indican
por ejemplo el botón cancelar le debemos agregar una instrucción que nos
permita cancelar la ejecución de la ventana y salir de la aplicación, y el botón
aceptar le vamos agregar una instrucción que me permitirá evaluar que el texto
que escribamos en los campos de texto sea igual a una que tengamos
almacenada ya sea en una archivo de texto o bien en una base de datos o los
tengamos definidos estáticamente dentro de nuestras líneas de código.
Para nuestra ejecución del programa los datos para la verificación de contraseña
estarán almacenados en un archivo de texto plano o un .txt, llamando
Usuario.txt
PARTE 3.
En esta parte del manual veremos cómo programar los eventos que nos llevaran
a que nuestros botones ejecuten acciones que indiquemos, desde ejecutar un
cierre o salida del sistema, operaciones matemáticas o llamados a funciones o
métodos complejos.
Para poder empezar con esta parte de la aplicación primero debemos crear un
nuevo java.class, este en articular nos permitirá tener métodos y funciones con
las cuales vamos a negociar datos de nuestra clase, la clase usuario, una de las
funciones que tendremos es la función validar usuario esta función tiene como
objetivo recibir dos valores un usuario y un password, verificar si estos valores
coinciden con los valores almacenados y retornar una respuesta de verdadero
(true) cuando son encontrados o de falso(false), cuando no se encuentran o
alguno de los dos está errado.
Para empezar a crear el DAOS, debemos tener presente que es lo que vamos a
trabajar, si van a ser datos almacenados temporalmente en arreglos, si los datos
vienen de un archivo de texto o los datos están almacenado en una base de
datos. Para nuestra aplicación los datos están almacenados en un archivo de
texto plano.
Lo primero que haremos será crear un arreglo que será el que me permitirá
manipular los datos que tenemos almacenados en el archivo, acá tendremos que
hacer un paréntesis en la explicación del DAOS, ya que para que esto nos
funcione debemos crear un segundo Java.class dentro de la carpeta persistencia,
este archivo tendrá la estructura de los datos de la clase usuario, me explico es
aquel que tiene los métodos y las funciones con los que transportaremos los
datos de un lado a otro (métodos Get y Set), tendremos un método llamado
ToString con el cual crearemos un patrón para el almacenaje de los datos dentro
del archivo de texto. Igual que como hicimos con las clases anteriores agregamos
un java.class que se llamara Entidad Usuario(EntUsuario).
ENTIDAD
Dentro de este archivo tendremos las variables, estas variables son las que me
van a almacenar los datos dentro de la entidad, para nuestra aplicación vamos a
usar las siguientes:
String Usuario.
String Password.
String Nombre.
String Cedula.
String Email.
Estas variables las tenemos que declarar como privadas que sea solo la clase
entidad la encargada de su administración, cabe resaltar que para este ejemplo
las variables son del mismo tipo, todas son de tipo String o cadena, pero también
pueden ser de otros tipos de datos, según sea nuestra aplicación o formulario
que estemos creando, también parte de los requisitos y requerimientos que nos
establezca el cliente de la aplicación.
Una vez creadas las variables de entorno de la entidad procedemos a crear los
elementos con los cuales vamos a manejar esas variables. Para ello necesitamos
los constructores ellos nos permitirán ver los métodos y las funciones de la clase
entidad desde otras clases el primer constructor es un constructor que no tiene
ninguna función o método dentro de este constructor vacío es el que nos
permite invocar los otros métodos y funciones. Y tenemos el constructor con
variables que es el encargado de recibir los valores de los archivos y
estructurarlos para poder manipularlos en otras clases. Para crear los
constructores tenemos dos métodos uno es escribir las líneas de código con las
instrucciones del constructor y la segunda y recomendada es dejar que Netbeans
nos de una mano con estas líneas de código. Ello lo hacemos ubicándonos dentro
de la clase con el puntero del mouse y presionando el clic derecho
Una vez que realizamos esta acción se nos despliega una ventana como podemos
ver en la imagen anterior, es acá donde nos encontramos con una opción de este
menú secundario y es la opción de Insert Code, cuando presionamos con el
mouse con el clic izquierdo se nos despliega esta pequeña ventana
Ahí encontraremos unas opciones que necesitaremos para este Java.class que
estamos trabajando. La primera de la lista que tenemos es Constructor… ahí
presionamos y se nos despliega la siguiente ventana
Si declaramos bien las variables en esta ventana podrás ver que nos aparecen
todas las que declaramos con su respectivo tipo. Para el primer constructor
vamos a dejar en blanco cada uno de los check list o check box de la ventana y
presionamos en el botón Generate y lo que sucede es que Netbeans
nos genera un código que se ve de la siguiente manera:
Este primer constructor como lo mencionamos antes nótese que no posee nada
dentro de su estructura solo se abren y se cierran las llaves sin ningún otro código
o instrucción dentro de él.
El segundo constructor se crea de la misma manera, pero a cambio del primero
esta vez sí seleccionamos todos los check box de la ventana y generamos el
código.
Quedando así:
Ya estamos un paso más cerca de terminar la entidad, lo último que nos queda
es agregar un método que nos va permitir crear una plantilla para guardar y leer
los datos en el archivo, este método es el método ToString, para agregarlo
tenemos que proceder de igual manera como venimos haciendo los anteriores
métodos y el constructor.
En este caso en particular Netbeans de una vez nos ofrece ya los campos
seleccionados para la creación del ToString solo hace falta que presionemos el
botón Generate y listo, Netbeans nos crea una plantilla.
Esta plantilla que nos genera tiene información extra que vamos a depurar para
que nos quede un código de la siguiente manera:
Antes:
Después:
DAOS
Luego ahora si creamos el arreglo de tipo prívate, con el fin de proteger los datos
que no sean vistos o manipulados por otro java.class, quedando así:
2. Proseguimos con la creación del constructor que será el método con el cual
llamaremos al DAOS desde los demás java.class de nuestra aplicación para
poder hacer uso de los distintos métodos quedando así:
Se puede observar que te dentro del constructor tenemos un método que es
el cargarUsuario que es el método que nos permite abrir el archivo y
almacenarlo temporalmente para manipular los datos del mismo.
d. Dentro del mientras ya procedemos a sacar línea a línea los datos del
archivo a la variables esto lo debemos hacer para cada uno de los datos
esto lo tenemos que hacer en 4 pasos, el primero es pos, es acá donde
establecemos el final de la línea que vamos a leer esto lo hacemos con
el carácter | pipe,
Luego leemos la línea, esta línea es un subString o sub línea de la línea
completa y lo llevamos a una variable temporal que llamamos aux
Para poder hacer esto como vemos creamos un objeto tipo entidad
que tiene la estructura de los datos que obtuvimos con la lectura de los
subString y los llevamos al arreglo que creamos al principio del DAOS,
y por ultimo contamos cuantos llevamos con el contador en este caso
el contador de usuarios siempre que ejecutemos el ciclo las veces que
sean necesarias al contador por cada ves que pasemos se le adiciona
más 1.
f. Ya para finalizar este método tenemos el catch el manejo de las
excepciones, y tenemos un elemento adicional que es la acción final o
el finally en esta parte tenemos una acción que es intentar cerrar el
archivo que abrimos previamente, ya que los archivos abiertos pueden
causar fallos o sufrir daños a su estructura
Ahora tres métodos utilitarios antes de crear los métodos y funciones del
CRUD.
5. getNumeroUsuarios: retorna un contador de usuarios.
getUsuario: retorna un arreglo.
posicionUsuario: retorna la posición dentro del arreglo de un usuario o valor
especifico o me retorna un -1 si el valor no es encontrado
6. Función nuevoUsuario: esta función me permite crear un nuevo dato dentro
del archivo siempre y cuando no se haya alcanzado el número máximo de
elementos dentro del arreglo
Ya con este último método terminamos la creación del DAOS, para el usuario,
si tenemos más ventanas de datos que necesite de manejo de datos o tenga
un CRUD, los debemos hacer acá en el DAOS.
PARTE 4.
Como vemos en esta imagen el evento es sencillo, dentro del evento que se le adiciona
al botón con la instrucción addActionListerner, crea un nuevo objeto de tipo
ActionListener, este objeto es una función pública que no retorna valores y que ejecuta
una función, llamada validarUsuarioActionPerformed, con el cual se ejecutara un
código el cual capturara los datos escritos en los campos de texto y enviara estos
valores al método validarUsuario, para realizar esto debemos invocar el método que
está en el DAOS, esta acción la hacemos hacemos primero creando un objeto de tipo
java.class DAOS que se va llamar mis Datos, con esto podemos llamar todos los
métodos y funciones que tenemos dentro del DAOS
Ya con la función lista podemos crear la función validarUsuario, este es el que nos va a
permitir como ya lo enunciamos anteriormente validar que los datos ingresados en los
campos de texto sean los mismos que tengamos almacenados en el archivo de texto
plano esta la creamos de la siguiente manera:
Cuando ya se ha creado este código, lo único que nos falta es llevarlo a funcionamiento,
pero antes de que podamos ejecutar la aplicación con éxito debemos agregar un código
más a nuestra aplicación y es en el java.class que invoca el método main, es acá donde
debemos agregar un objeto de tipo java.class DAOS
Ahora si ejecutamos la aplicación, pero sin antes olvidarnos que debemos crear en la
carpeta del proyecto el archivo de texto plano donde tendremos los datos del usuario
que nos van a ayudar a ejecutar nuestra aplicación.
Como vemos los datos almacenado en el archivo cumplen con la estructura que
establecimos en el java.class entidad, en el método ToString con esto aseguramos que
la captura de los datos y la inserción de nuevos datos se haga de acuerdo al parámetro
que fue establecido.