Vous êtes sur la page 1sur 126

Tutorial Crear Aplicacin JAVA

TUTORIAL CREAR APLICACIN JAVA

INTRODUCCIN

02

Sesin 1: Construyendo la base de datos

03

Sesin 2: Desarrollando la Interfaz Grfica de Usuario (GUI)

25

Sesin 3: Creando el Modelo de la Aplicacin

46

Sesin 4: Enlazando con el Controlador

56

Sesin 5: Probando el Modelo Vista Controlador MVC

70

Sesin 6: Accediendo a la Base de Datos con JDBC

78

Sesin 7: Accediendo a la Base de Datos con JPA

89

Sesin 8: Generando reportes impresos

108

FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

TUTORIAL PARA CREAR APLICACIONES CON JAVA


INTRODUCCIN
El presente tutorial es una gua paso a paso sobre el desarrollo completo
de un caso de uso en el lenguaje de programacin JAVA, comprende desde
el desarrollo de la base de datos hasta la generacin de reportes impresos.
El caso de uso que servir de fuente para el desarrollo de la aplicacin es
Administrar datos paciente, caso de uso del Sistema Gestin Citas que
se ha venido desarrollando:

2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 1: CONSTRUYENDO LA BASE DE DATOS


El sistema manejador de bases de datos seleccionado para este ejemplo
es Oracle Database 10g express edition, el instalador debe ser descargado
de la siguiente ruta:
Actividades/Fase Desarrollo/ Actividad de Proyecto 7/ Materiales
Requeridos y de Apoyo/
INSTALACIN DE ORACLE DATABASE 10G EXPRESS EDITION

Una vez descargado el instalador desde la plataforma o desde una


fuente externa, procedemos a su instalacin haciendo doble click en el
respectivo ejecutable, con lo cual inmediatamente iniciar el proceso de
instalacin:

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Luego de hacer click en el botn Siguiente, debemos aceptar los


trminos de la licencia y hacer click nuevamente en Siguiente:

Se presenta una ventana donde se indica la carpeta destino donde


quedarn los archivos de la base de datos y el espacio requerido para su
instalacin. Hacemos click en Siguiente:

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ingresamos una contrasea, la cual servir para conectarnos como


usuario System. El usuario System o Sys es el administrador del
servidor Oracle y es quien podr realizar todas las tareas administrativas
en el servidor Oracle. Para este ejemplo usaremos como contrasea la
palabra adsi por lo tanto debemos escribir adsi en ambas cajas de texto
y hacer click en Siguiente:

Aparecen los datos de resumen de los cuales es recomendable


tomar nota. Hacemos click en Instalar

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Finalizado el proceso de instalacin, se presenta un mensaje de confirmacin. Hacemos click en Terminar

1.

Comprobar el funcionamiento del servidor Oracle:

Para comprobar el funcionamiento del servidor Oracle, debemos


introducir el Usuario system y la contrasea que definimos durante la
instalacin adsi en la ventana de conexin a Base de Datos que se inicia al
finalizar la instalacin:

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

A continuacin se presenta el entorno Web para la administracin del


servidor Oracle donde tendremos todos los privilegios como usuario System.
Esto comprueba que el servidor est funcionando correctamente:

Para acceder a este entorno de administracin Web, tambin lo


puede hacer:
Digitando la direccin http://localhost:8080/apex en cualquier navegador Web o Ingresando desde el men de Inicio a la Pgina inicial de Base de
Datos:

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

2.

Creacin de un usuario y su esquema de base de datos:

Para la aplicacin que estamos desarrollando, debemos crear un usuario,


el cual ser propietario de un esquema dentro de la base de datos Oracle
10g express edition, sobre el cual construiremos la estructura de almacenamiento de la aplicacin.

Un esquema es un espacio de almacenamiento donde


residen los objetos (tablas, vistas, ndices, procedimien
tos almacenados) que son propiedad de un usuario.

Estando con el usuario System, seleccionamos del men Administracin Usuarios de Base de Datos Crear Usuario:

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Introducimos en los campos Nombre de Usuario, Contrasea y Confirmar Contrasea la palabra citas y hacemos click en Crear, de esta forma
habremos creado un nuevo usuario llamado citas, el cual posee una contrasea con su mismo nombre y es propietario del esquema citas donde se
almacenarn los objetos requeridos:

A continuacin debemos desconectarnos del usuario actual (system)


y conectarnos con el nuevo usuario (citas):

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Introducimos la palabra citas como Usuario y Contrasea

Comprobamos que estamos dentro del sistema como el usuario


citas:

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

3.

Construccin de la estructura de almacenamiento (base de datos):

Para la construccin de las tablas, campos, relaciones y restricciones de la


estructura de almacenamiento, debemos tomar como referencia el diseo
de la base de datos previamente realizado:

Para crear las tablas seguimos el men Explorador de Objetos


Crear
Tabla

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ingresamos el nombre de la tabla, los nombres de cada uno de sus


campos, sus respectivos tipos de datos, tamaos y restricciones. A
continuacin se presentan los datos para la tabla PACIENTES, hacemos
click en Siguiente:

Especificamos como clave primaria de la tabla el campo


PACIDENTIFICACION, como se aprecia en la siguiente imagen, hacemos
click en Siguiente:

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El siguiente paso es establecer las claves ajenas que tiene la tabla,


para el caso de la tabla PACIENTES, esta no posee claves ajenas, por lo
que solamente hacemos click en Siguiente:

El siguiente paso es definir las restricciones que en este caso no


vamos a definir ninguna restriccin especial por lo que simplemente
hacemos click en Terminar:

13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Por ltimo hacemos click en Crear y de esta manera habremos


terminado de crear la tabla PACIENTES de nuestra base de datos:

De la misma manera como se cre la tabla PACIENTES, Procederemos a


crear las tablas MEDICOS, CONSULTORIOS, TRATAMIENTOS y CITAS.

Definimos la informacin de las columnas de la tabla MEDICOS:

14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Establecemos su clave primaria:

No definimos Claves Ajenas, no definimos Restricciones haciendo


click en Siguiente y por ltimo creamos la tabla haciendo click en el botn
Crear:

Ahora definimos la informacin de las columnas de la tabla


CONSULTORIOS:

15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En los campos numricos (Number), la Precisin se refiere


a la cantidad mxima de dgitos permitidos y la Escala es la
cantidad de esos dgitos que pueden estar presentes despus
del punto decimal. En este caso Number (3,0) significa que
se aceptan hasta 3 dgitos pero sin parte decimal.

Establecemos su Clave Primaria:

No definimos Claves Ajenas, no definimos Restricciones haciendo


click en Siguiente y por ltimo creamos la tabla haciendo click en el botn
Crear:

Para los campos TraNumero de la tabla TRATAMIENTOS y


CitNumero de la tabla CITAS, debemos crear Secuencias que ayuden a
incrementar de manera automtica los valores de estos campos, con el fin
de evitar que el usuario de la aplicacin tenga que ingresar los valores,
para ello seguimos el men Explorador de Objetos
Crear
Secuencia:

16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Una Secuencia en Oracle es un objeto que permite rellenar


la informacin de un campo de manera automtica,
respondiendo a unas reglas preestablecidas. Con las
secuencias se pueden crear campos autonumricos.

Establecemos la configuracin de la secuencia Sec_Tratamiento y


hacemos click en Siguiente y posteriormente hacemos click en Crear:

17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ahora creamos la tabla TRATAMIENTOS, definimos los campos:

Definimos la Clave Primaria, asignando al campo TraNumero la


secuencia anteriormente creada Sec_Tratamiento:

Definimos la Clave Ajena que en el caso de la tabla TRATAMIENTOS


corresponde al campo TraPaciente, el cual est asociado con el campo
pacIdentificacion de la tabla PACIENTES:
Es requerido que el tipo de dato y tamao de un campo
definido como Clave Ajena sea exactamente igual al campo
definido como Clave Primaria al cual est asociado.

18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Al hacer click en Agregar, podemos observar que la clave ajena


queda asignada a la tabla:

19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Posteriormente hacemos Click en Siguiente, Terminar y Crear

Para crear la tabla CITAS, realizamos los mismos pasos que con la tabla
TRATAMIENTOS, definimos una secuencia, los campos, su Clave Primaria
y sus Claves Ajenas, que en este caso son tres (CitPaciente, CitMedico y
CitConsultorio)

Definimos una nueva Secuencia:

Ahora definimos los campos de la tabla CITAS:

20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Luego definimos la Clave Primaria:

Ahora definimos las Claves Ajenas, debemos tener en cuenta que


en la tabla CITAS existen tres (3) Claves Ajenas, las cuales son:
Clave Ajena

Tabla de Referencia

Columna de Referencia

CitPaciente

PACIENTES

PacIdentificacin

CitMedico

MEDICOS

MedIdentificacin

CitConsultorio

CONSULTORIOS

ConNumero

21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Para asignar cada Clave Ajena nueva, se debe hacer click en el botn
Agregar.

Por ltimo hacemos click en el botn Siguiente, Terminar y Crear:

22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

De esta forma hemos terminado de crear la estructura de


almacenamiento de nuestra aplicacin, para comprobar que hemos creado
todas las tablas requeridas seguimos el siguiente men: Explorador de
Objetos
Examinar
Tablas

Verificar que se presenten todas las tablas:

23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Y para verificar que las relaciones quedaron bien definidas hacemos


click en las tablas que poseen Claves Ajenas (CITAS y TRATAMIENTOS) y
posteriormente hacemos click en el enlace Modelo donde debemos
obtener los siguiente resultados:

24
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 2: DESARROLLANDO LA VISTA INTERFACE


GRFICA DE USUARIO (GUI)
En la sesin anterior creamos la base de datos que servir de repositorio
para almacenar la informacin del sistema de gestin de citas, sin embargo, un usuario de la aplicacin como por ejemplo un Mdico, no debe tener
acceso directo a la base de datos ya que sera muy difcil para el entender
cmo llevar a cabo sus funciones y sera adems potencialmente peligroso
para el sistema porque la informacin o la base de datos estara expuesta
a probables daos. Para evitar que esto ocurra y darle una mejor presentacin a la aplicacin, facilitando el uso de la misma, se requiere desarrollar una Interface Grfica de Usuario conocida como GUI por sus siglas en
Ingls Graphic User Interfaz. La GUI para el proyecto que venimos desarrollando ser realizada en el ambiente de ejecucin integrado NETBEANS.
Recordemos que el caso de uso que se desarrollar en el presente tutorial
es Administrar datos Paciente:

25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Despus de ejecutar el Netbeans, debemos crear un nuevo


proyecto, para lo cual seguimos el men: File
New Project:

Seleccionamos la categora Java y el tipo de proyecto Java


Application y hacemos click en Next:

26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ingresamos el nombre del proyecto, en nuestro caso ProyectoCitas,


seleccionamos la ubicacin donde deseamos guardarlo y lo establecemos
como proyecto inicial (Set as a Main Proyect), hacemos click en Finish:

En la ventana de Proyectos debe aparecer el nuevo proyecto. Si la


ventana no est visible, puede ser accedida a travs del men:
Window
Projects:

27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

A continuacin creamos un nuevo paquete dentro del proyecto,


haciendo click derecho en ProyectoCitas y seleccionando del men
contextual New
Java Package:

Ingresamos el nombre del paquete, en este caso vista y hacemos


click en Finish:

28
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El objetivo de crear este paquete es almacenar en el todos los formularios


que formen parte de la interface grfica de usuario como parte de un
patrn conocido como el modelo vista controlador, sobre el cual
profundizaremos ms adelante.
DISEO DEL FORMULARIO PRINCIPAL

Haciendo click derecho sobre


seleccionamos del men contextual New

el nuevo paquete
JFrame Form:

creado,

La aplicacin ser desarrollada bajo un ambiente MDI:


Multiple Document Interfaz, este tipo de aplicaciones permite
tener un formulario principal y visualizar sobre este otros
formularios secundarios que pueden estar abiertos de manera
simultnea pero que dependen del formulario principal. En
este caso, el JFrame Form ser el formulario principal

Definimos el nombre del JFrame, en este caso PrincipalJFrame y


hacemos click en Finish:

29
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

A continuacin aparecer un formulario vaco y una paleta de


controles, si dicha paleta no es visible, puede obtenerla siguiendo el
men: Window
Palette:

30
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Siguiendo el men Window


ventana de propiedades:

Properties tendremos acceso a la

En la ventana de propiedades, haremos los siguientes cambios:


Clave Ajena

Valor

Title

GESTIN DE CITAS

Name

PrincipalJFrame

31
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Arrastramos desde la paleta de controles un control de tipo Menu


Bar, el cual ponemos sobre el PrincipalJFrame:

Hacemos doble click en el ttulo File y escribimos Archivo,


posteriormente hacemos doble click en el ttulo Edit y escribimos
Pacientes, de esta manera vamos personalizando el men de nuestra
aplicacin:

32
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Arrastramos un control de tipo Menu Item (jMenuItem1) sobre el


ttulo Archivo y dos Menu Item sobre el ttulo Pacientes (jMenuItem2 y
jMenuItem3), cambiando sus ttulos por los siguientes:
Ttulo Actual

Nuevo Ttulo

jMenuItem1

Salir

jMenuItem2

Registrar

jMenuItem3

Consultar

De esta forma, al hacer click sobre el men Archivo, aparecer la


opcin Salir:

Y al hacer click sobre el Men Pacientes, aparecern las opciones


Registrar y Consultar:

De esta manera hemos terminado de establecer los elementos grficos del


formulario principal de nuestra aplicacin, por ahora, no introduciremos
ningn cdigo, hasta que tengamos los dems formularios necesarios.
Para verificar el resultado parcial de la interface grfica, hacemos click en
el botn Preview Design:

33
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

DISEO DEL FORMULARIO PARA EL REGISTRO DE PACIENTES


El formulario para el registro de pacientes y el formulario para consultar
pacientes deben ser formularios de tipo JInternalFrame, para lograr que
dependan y se desplieguen dentro del PrincipalJFrame, que ser el
formulario principal de la aplicacin.

En la ventana de proyectos, haga click derecho sobre el paquete


vista y en el men contextual seleccione la opcin New
JInternalFrame
Form:

34
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ingresamos el nombre RegPacienteInternalFrame y hacemos click


en Finish:

Al nuevo formulario creado le cambiamos la propiedad title por


Registro de Pacientes a travs de la ventana Propiedades y le adicionamos
los siguientes elementos:

35
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Control

Propiedad

Valor

JLabel1

text

Identificacin:

JLabel2

text

Nombres:

JLabel3

text

Apellidos:

JLabel4

text

Fecha de Nacimiento:

JLabel5

text

Sexo:

JTextField1

text
name

JTextField2

text
name

JTextField3

IdentificacionTxt

NombresTxt

text
name

ApellidosTxt

text

buttonGroup

buttonGroup

text

buttonGroup

buttonGroup1

text

Registrar

name

RegistrarBtn

text

Nuevo

name

NuevoBtn

ButtonGroup1
JRadioButton1

JRadioButton2

JButton1

JButton2

Puede notarse que el ttulo Fecha de Nacimiento no tiene un control


asociado para capturar la informacin y aunque esta podra capturarse en
un cuadro de texto, es ms adecuado emplear un control especfico de
fecha, que en el caso de Netbeans no viene por defecto, razn por la cual
se explicar cmo incorporarlo a nuestro proyecto.

36
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Descargar
de
la
siguiente
direccin:
http://www.toedter.com/en/jcalendar/ el archivo jcalendar-1.4.zip

Este archivo se descomprime en cualquier ruta y se observa que al


interior de la subcarpeta lib se encuentre el archivo jcalendar-1.4.jar:

Hacer click derecho en cualquier espacio de la paleta de controles y


seleccionar del men contextual la opcin Palette Manager

37
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacer click en el botn New Category, ingresar un nombre para la


categora, en este caso Swing Date y hacer click en el botn OK:

Hacer click en el botn Add from JAR y buscar el archivo


jcalendar-1.4.jar, hacer click en el botn Next:

38
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Seleccionamos los componentes que queremos cargar en la paleta


de controles, en este caso los seleccionamos todos. Cada componente es
un control que se agregar a la ficha Swing Date. Hacemos click en Next:

Ahora seleccionamos la categora donde queremos agregar los


nuevos controles, en este caso la categora es Swing Date. Hacemos click
en Finish:

39
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Finalmente hacemos click en Close:

Observamos como la nueva categora Swing Date se ha agregado a


la paleta de controles:

40
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ahora que disponemos de nuevos controles para el manejo de


fechas, arrastramos uno de ellos, en este caso el control JDateChooser y
lo ubicamos en el formulario de registro de clientes frente al ttulo Fecha
de Nacimiento:

Para verificar el resultado parcial de la interface grfica, hacemos


click en el botn Preview Design:

41
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Observemos como los campos del formulario coinciden con los campos de
la tabla PACIENTES en la Base de Datos

DISEO DEL FORMULARIO PARA LA CONSULTA DE PACIENTES


Otra de las funcionalidades que se implementarn para la gestin de
pacientes es la consulta de los mismos, para ello desarrollaremos un
nuevo formulario de tipo JInternalFrame.

Creamos un nuevo formulario de tipo JInternalFrame dentro del


paquete vista y le asignamos el nombre ConsPacienteInternalFrame:

42
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El diseo del nuevo formulario es el siguiente:

Control

Propiedad

Valor

text

Identificacin

buttonGroup

buttonGroup1

text

Nombres

buttonGroup

buttonGroup1

text

Apellidos

buttonGroup

buttonGroup1

text

Sexo

buttonGroup

buttonGroup1

JLabel1

text

Valor a buscar

JTextfield1

text

buttonGroup1
JRadioButton1

JRadioButton2

JRadioButton3

JRadioButton4

JButton1

JTable1

name

ValorTxt

text

Aceptar

name

AceptarBtn

name

ResultadosTbl

43
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Para verificar el resultado parcial de la interface grfica, hacemos


click en el botn Preview Design:

El paquete vista ha quedado conformado por tres formularios, el


formulario principal PrincipalJFrame que contiene el men y los
formularios internos RegPacienteInternalFrame en el cual se va a llevar a
cabo el registro de pacientes y ConsPacienteInternalFrame donde se
podrn realizar consultas de pacientes.

44
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

45
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 3: CREANDO EL MODELO DE LA APLICACIN


Teniendo la Base de Datos y los formularios de la aplicacin construidos (la
vista), es hora de pasar al modelo, el modelo est conformado por las
clases que forman parte del dominio de la aplicacin
Recordemos nuevamente que el caso de uso que se desarrollar en el presente tutorial es Administrar datos Paciente:

Para identificar las clases que forman parte del modelo, es


necesario revisar el diagrama de clases realizado durante el
anlisis y refinado durante el diseo.

46
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Para el desarrollo del sistema completo, seguramente necesitaremos


varias clases formando parte del modelo como: Paciente, Cita,
Tratamiento, Medico, sin embargo, para nuestro caso de uso particular
Administrar datos Paciente solo requeriremos la clase Paciente, encargada
de manejar la informacin de un determinado paciente y la clase
GestorPaciente que ser la encargada de ejecutar operaciones que afectan
a varios pacientes.
CREACIN DE LA CLASE PACIENTE

Crear un nuevo paquete dentro del proyecto ProyectoCitas:

Asignarle nombre al paquete modelo y hacer click en Finish:

47
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Sobre el nuevo paquete creado modelo, hacer click derecho y


seleccionar del men contextual la opcin New
Java Class:

Ingresamos el nombre de la clase Paciente y hacemos click en


Finish:

Al hacer click en Finish, aparece una plantilla de clase para la clase


Paciente similar a la siguiente:

48
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Borrar los comentarios e ingresar los atributos de la clase:

49
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacer click derecho sobre el cdigo y seleccionar del men


contextual la opcin Refactor
Encapsulate Fields:

Seleccionamos todos los campos y hacemos click sobre el botn


Refactor:

50
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

De esta forma aparecen todos los mtodos Getters y Setters


asociados a los atributos definidos en la clase Paciente:

51
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Un mtodo Getter es aquel que retorna el valor de un


atributo, por ejemplo, getNombres es un mtodo que retorna
los nombres de un paciente. Un mtodo Setter es aquel que
se emplea para modificar el valor de un atributo, por ejemplo,
setNombres es un mtodo que modifica el nombre de un
paciente. El prefijo get y set forman parte de una convencin
empleada en Java conocida como JavaBeans.

A partir de la lnea de cdigo 11, creamos el constructor de la clase


Paciente, y borrando los comentarios, el cdigo queda de la siguiente
manera:

52
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

CREACIN DE LA CLASE GESTORPACIENTE

Creamos una nueva clase dentro del paquete modelo llamada


GestorPaciente y hacemos click en el botn Finish:

Los cdigos expuestos en este tutorial no tienen comentarios ni


siguen un estndar de codificacin predefinido, sin embargo es
necesario incluir estos aspectos de calidad en el cdigo propio.

53
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El cdigo de esta nueva clase es el siguiente:

54
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea
2
5
7.. 10
11.. 14
15.. 37

Explicacin
Importacin de la clase LinkedList para el almacenamiento de Pacientes
Declaracin de la variable pacientes que ser la responsable de
almacenar todos los pacientes registrados
En el constructor de la clase se instancia el LinkedList determinando
que en cada posicin se almacenar un objeto de tipo Paciente
Mtodo que recibe un objeto de tipo Paciente y lo guarda dentro
del LinkedList
Mtodo que recibe un criterio de bsqueda y un valor y retorna una
lista de pacientes que cumplen con los parmetros recibidos

17

Se crea un LinkedList interno para almacenar los pacientes que


cumplen con los criterios de la consulta

18

Recorrido de cada uno de los pacientes registrados

20

Evala el valor del parmetro para conocer si se desea hacer la


bsqueda por Identificacin 1, Nombres 2, Apellidos 3, Sexo 4

22.. 33

De acuerdo con el parmetro de bsqueda, verifica si coincide cada


paciente con el valor recibido. En ese caso, se agrega al LinkedList
interno resultado

36

Retorna el LinkedList interno resultado con los pacientes encontrados

De esta manera hemos finalizado la construccin de las clases del modelo


Paciente y GestorPaciente. El proyecto ProyectoCitas hasta ahora lleva la
siguiente estructura:

55
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 4: ENLAZANDO CON EL CONTROLADOR


Ahora que la aplicacin cuenta con la Vista que proporciona los formularios
requeridos para interactuar con el usuario (PrincipalJFrame, RegPacienteInternalFrame y ConsPacienteInternalFrame) y cuenta con el Modelo,
conformado por las clases del dominio de la aplicacin (Paciente y GestorPaciente), es el momento de crear las clases del Controlador, estas clases
gestionarn las solicitudes de la Vista y darn respuesta a las mismas
recurriendo a las clases del Modelo. Este mecanismo de interaccin multicapas se conoce como el patrn Modelo Vista Controlador (MVC).
Para poder acceder desde la clase controladora al contenido de los
campos de los formularios, estos deben permitir su acceso bien sea
a travs de mtodos pblicos o modificando el nivel de acceso de
estos campos pasndolos de private a pblicos.

56
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Abrimos el formulario RegPacienteInternalFrame que se encuentra


en el paquete vista y hacemos click derecho sobre el primer cuadro de
texto. Del men contextual seleccionamos la opcin Properties:

De la ventana propiedades, seleccionar la ficha Code y modificar los


valores de las propiedades Variable Name y Variable Modifiers por
IdentificacionTxt y public respectivamente:

57
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacer click derecho en las dems cajas de texto, el control


JdateChooser y los controles JRadioButton y repetir el proceso para los
campos nombres, apellidos, fecha de nacimiento y sexo, al igual que para
los botones de Registrar y Nuevo tal como se presenta en las siguientes
imgenes:
No basta con seleccionar otra caja de texto para modificar sus
propiedades, es necesario hacer click derecho sobre ella y
seleccionar la opcin properties del men contextual.

58
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Creamos un nuevo paquete llamado controlador dentro del proyecto


ProyectoCitas:

59
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Haciendo click derecho sobre el paquete controlador recin creado,


seleccionamos del men contextual New
Java Class

Ingresamos el nombre para la nueva clase PacienteControl y


hacemos click sobre el botn Finish:

El objetivo de esta clase es comunicarse con la vista para capturar los


datos ingresados por el usuario en el formulario de Registro de Clientes y
posteriormente con esos datos capturados comunicarse con el modelo
para crear un objeto de la clase Paciente y registrarlo a travs de la clase
GestionPaciente del modelo.

60
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El cdigo expuesto no posee comentarios ni responde a un estndar


de codificacin establecido. Es recomendable tener en cuenta estos
aspectos en los proyectos de acuerdo con las sugerencias del tutor.

El cdigo correspondiente a la clase PacienteControl es el siguiente:

61
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea

Explicacin

3,4

Importacin de paquetes para el manejo del evento click del botn


Registrar formulario Registro de Pacientes

Importacin de la clase SimpleDataFormat para dar formato


a la fecha de nacimiento recibida desde la vista

ActionListener es la interfaz que se debe implementar para


escuchar eventos

9, 10, 11

13
15, 16

Declaracin de variables asociadas a la vista y al modelo.


El controlador debe conocer a la vista y al modelo para poder
comunicarse con ellos
El constructor de la clase controladora recibe como parmetro
la vista que debe controlar
Creacin de las variables asociadas a la vista y el modelo

18

Anotacin que indica que el mtodo actionPerformed se est


sobreescribiendo

19

Mtodo de la interfaz ActionListener que se debe implementar.


Este mtodo se ejecuta cuando se hace click en el botn Registrar
del formulario Registro de Pacientes

21

Verifica si fue el botn Registrar del formulario Registro de


Pacientes el que gener el evento

23....32

Captura de la informacin ingresada por el usuario en el formulario


Registro de Pacientes

33

Creacin de un objeto de tipo Paciente a partir de los datos


ingresados por el usuario

34

Registro del paciente creado a travs de la clase GestorPaciente


del modelo

36

Verifica si fue el botn Nuevo del formulario Registro de


Pacientes el que gener el evento

38....44

Borra los contenidos de los controles del formulario Registro de


Pacientes

Ahora que el controlador PacienteControl intermedi entre la vista y el


modelo para registrar pacientes, crearemos otro controlador que se
comunique con el modelo para extraer los datos de los pacientes
registrados y visualizarlos en la vista.
El objetivo de la nueva clase controladora es capturar la solicitud que el
usuario realiza a travs del formulario Consulta de Pacientes y recibir del
modelo la informacin pertinente para llevarla a la vista.

62
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Al igual que ocurri con el formulario de Registro de Pacientes, debemos


tener acceso a los elementos del formulario Consulta de Pacientes desde
el controlador.

Hacemos click derecho en el primer control del formulario


(JRadioButton1), seleccionamos del men contextual la opcin Properties:

63
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la ventana de propiedades seleccionamos la ficha Code y en ella


realizamos los cambios a las propiedades Variable Name y Variable
Modifiers,
ingresando
los
valores
IdentificacionOpt
y
public
respectivamente:

Modificar de la misma manera las propiedades Variable Name y


Variable Modifiers de los JRadioButton, la caja de texto, el botn y el
JTable tal como se presenta en las siguientes imgenes:
No basta con seleccionar otro control para modificar sus
propiedades, es necesario hacer click derecho sobre el y
seleccionar la opcin properties del men contextual.

64
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ahora que ya tenemos acceso a los controles del formulario Consultar


Pacientes por ser pblicos, procedemos a crear la clase controladora.

65
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Creamos una nueva clase dentro del paquete controlador con el


nombre GestorPacienteControl y hacemos click en Finish:

El cdigo expuesto no posee comentarios ni responde a un estndar de


codificacin establecido. Es recomendable tener en cuenta estos aspectos
en los proyectos de acuerdo con las sugerencias del tutor.
Explicacin del cdigo:
Lnea
7
9, 10
12
14, 15
17

Explicacin
La clase debe poder escchar eventos de la vista, en este caso el
evento click del botn Aceptar del formulario Consulta de Pacientes
Declaracin de variables asociadas a la vista y al modelo. El controlador
debe conocer a la vista y al modelo para poder comunicarse con ellos.
El constructor de la clase controladora recibe como parmetro la vista
que debe controlar.
Creacin de las variables asociadas a la vista y el modelo
Anotacin que indica que el mtodo actionPerformed se est
sobreescribiendo

18

Mtodo que se ejecuta cuando el usuario hace click en el botn Aceptar


del formulario Consulta de Pacientes

20

Captura del valor introducido por el usuario en la caja de texto del


formulario Consulta de Pacientes

66
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

67
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo (continuacin):


Lnea

Explicacin

21

Declaracin e inicializacin de la variable que va a indicar el criterio de


bsqueda seleccionado por el usuario (Identificacin, Nombres, Apellidos
o Sexo) en el formulario Consulta de Pacientes

22

Borrado de todas las filas del TableModel asociado al JTable donde


se presentan los resultados de la consulta en el formulario Consulta
de Pacientes

23, 42

Actualizacin del JTable, esto hace que el JTable quede vaco para
poder ser cargado posteriormente con los resultados de la consulta

24..31

Captura de la opcin de bsqueda seleccionada por el usuario en el


formulario Consulta de Pacientes, de acuerdo a esa opcin se asigna
un valor a la variable parmetro

32

Captura de los pacientes devueltos por el modelo de acuerdo con los


criterios de bsqueda proporcionados por el usuario

34

Recorrido de cada uno de los pacientes retornados por el modelo a


partir de la consulta realizada

36..40

Asignacin de los valores de cada paciente al arreglo que se cargar


en el TableModel

41

Adicin de una nueva fila al TableModel cuyo contenido es la


informacin del arreglo

68
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El paquete controlador finalmente queda conformado por dos clases


PacienteControl que recoge la informacin de cada paciente ingresado por
el usuario en la vista y lo registra en el modelo y la clase
GestorPacienteControl que se encarga de recibir de la vista los parmetros
de bsqueda, consultar en el modelo los pacientes que cumplen con esos
parmetros y regresar a la vista los resultados obtenidos.

La estructura del proyecto debe ser la siguiente:

69
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 5: PROBANDO EL MODELO VISTA


CONTROLADOR (MVC)
Durante la sesin 2, 3 y 4 creamos los diferentes componentes que hacen
parte del Modelo Vista Controlador (MVC) Sesin 2: La vista, Sesin 3: El
modelo, Sesin 4: El controlador.
El MVC es un patrn de diseo que separa la interfaz de
usuario de la lgica y los datos.
El desarrollo de este patrn dentro de una aplicacin trae
como consecuencia el uso de arquitectura multicapa, ya que
la capa de presentacin est abordada por la vista, la capa
de lgica es responsabilidad del controlador y la capa de
datos est a cargo del modelo.
Las ventajas de una arquitectura multicapa es la separacin
de las responsabilidades y la facilidad de mantenimiento y
adaptacin de las aplicaciones.

70
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En esta sesin vamos a realizar los ajustes finales a la vista para vincularla
con el controlador y as poder ejecutar la aplicacin.
Inicialmente vamos a adicionar los formularios internos (Registro de
Pacientes y Consulta de Pacientes) al formulario principal.

En el cdigo del formulario principal incluimos las siguientes lneas:

Explicacin del cdigo:


Lnea

Explicacin

4, 5

Declaracin de objetos asociados a los formularios internos

8, 9

Instanciacin de los objetos asociados a los formularios internos

10, 11
13

Adicin de los formularios internos al formulario principal


Instruccin para que el formulario principal se presente maximizado

Ahora vamos a escribir el cdigo necesario para que al hacer click en los
mens del formulario principal se presenten los formularios internos
correspondientes.

Abrir el formulario principal en vista de diseo, hacer click en el


men Archivo y sobre este hacer click derecho y seguir el men Events
Action
actionPerformed:

71
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

De esa manera nos ubicamos en el mtodo que se ejecuta al hacer


click sobre el men Salir, en ese espacio ingresamos el cdigo para salir
de una aplicacin en java:

Repetimos el proceso para la opcin de men Registrar:

Ingresamos el cdigo para hacer visible el formulario Registro de


Pacientes:

Repetimos el proceso para la opcin de men Consultar:

Ingresamos el cdigo para hacer visible el formulario Consulta de


Pacientes:

72
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El cdigo del formulario principal debe tener un aspecto semejante


al siguiente:

El cdigo del formulario Registro de Pacientes debe registrar a la


clase controladora que atender los eventos que en l se generen. A
continuacin se presenta el cdigo que debe agregarse:

73
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea
5

Explicacin
Declaracin del objeto que controla el formulario

10

Instanciacin del objeto que controla el formulario y gestiona sus eventos

11, 12

Indica que el objeto pacienteControlador es el encargado de gestionar


los eventos que se generen en los botones Registrar y Nuevo

El cdigo del formulario Consulta de Pacientes de igual manera debe


registrar a la clase que le atender sus eventos, adems de incluir el
cdigo de configuracin inicial del JTable donde se presentarn los datos
de las consultas realizadas. A continuacin se presenta el cdigo que debe
agregarse:

74
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea

Explicacin

Importacin de la clase DefaultTableModel que se emplea para establecer


la configuracin del objeto JTable

Declaracin del objeto que controla el formulario Consulta de Pacientes

Declaracin del objeto que configura y gestiona la informacin del JTable

13

Instanciacin del objeto que controla el formulario y gestiona sus eventos

14

Creacin del arreglo que contiene los ttulos del JTable donde se presentan
los resultados de las consultas

15

Instanciacin del TableModel con los ttulos requeridos

16

Asignacin del TableModel al JTable

17

Indica que el objeto gestorpacienteControl es el encargado de gestionar


los eventos que se generen en el botn Aceptar del formulario Consulta
de Pacientes

19.. 22

Mtodo que retorna el objeto TableModel asociado al JTable para ser


manipulado desde la clase controladora

Un objeto JTable representa un elemento grfico en forma de


cuadrcula comnmente usado para presentar registros de
datos. Este objeto grfico no es manipulado directamente
sino a travs de un objeto no grfico llamado TableModel,
el TableModel es el que define los ttulos y contenido del
JTable, as mismo, operaciones como insertar filas, acceder
a un determinado dato de la tabla o eliminar los datos de la
tabla, se realizan a travs del TableModel que al estar
asociado al objeto JTable refleja visualmente estas
modificaciones en el mismo.
Finalmente, despus de establecer desde la vista los objetos controladores
que se encargan de gestionar los eventos, solo queda faltando ejecutar la
aplicacin.

Hacemos click derecho sobre el proyecto ProyectoCitas


seleccionamos del men contextual la opcin Clean and Build:

75
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Por ltimo, hacemos click derecho sobzre la clase PrincipalJFrame y


seleccionamos del men contextual la opcin Run File:

76
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

77
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 6: ACCEDIENDO A LA BASE DE DATOS CON JDBC


En la sesin nmero 1 se construy la base de datos en Oracle, durante
las sesiones siguientes se desarroll la aplicacin basada en el patrn MVC
Modelo Vista Controlador, sin embargo, los datos ingresados en el formulario de Registro de Pacientes se pierden cuando la aplicacin se cierra,
esto se da porque los datos de los pacientes registrados se estn almacenando en variables y listas, pero no en un medio persistente como la base
de datos.
Durante la presente sesin conectaremos la aplicacin que desarrollamos
con la base de datos para que la informacin de los pacientes registrados
no se pierda aunque se cierre la aplicacin e incluso aunque se apague el
equipo.
Para la conexin y gestin de la base de datos emplearemos la API JDBC
de Java.

JDBC Java DataBase Connectivity es un estndar usado


por Java para el acceso y la manipulacin de datos en
bases de datos relacionales a travs de clases e interfaces,
permitiendo embeber cdigo SQL dentro del cdigo Java

78
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Descargar el driver JDBC para Oracle ojdbc6.jar de la siguiente


direccin:
http://www.oracle.com/technetwork/database/enterprise-editi
on/jdbc-112010-090769.html
Tambin puede ser descargado desde la plataforma del curso en la
siguiente ruta:
Actividades/Fase Desarrollo/ Actividad de Proyecto 7/ Materiales
Requeridos y de Apoyo/

El archivo ojdbc6.jar puede ser descargado en cualquier ruta.


CONEXIN CON LA BASE DE DATOS DESDE NETBEANS

En Netbeans, hacer click en el men Window


la siguiente ventana:

Services, aparecer

79
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacer click derecho sobre Databases y en ella seleccionar del men


contextual la opcin New Connection

En la siguiente ventana, seleccionar el Driver Oracle thin, hacer click


en el botn Add, buscar y seleccionar el driver ojdbc6.jar previamente
descargado y hacer click en Abrir, luego hacer click en Next:

80
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la siguiente ventana, ingresar los siguientes valores de


configuracin:

Ingresar el User Name: citas y el Password: citas que son los


datos de conexin con la base de datos que creamos en la sesin 1,
si los datos de conexin son diferentes, ingresar los propios.

Para comprobar la conexin, hacer click en el botn Test Connection


y verificar que aparece el mensaje Connection Succeded, hacer click en
Next:

81
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Seleccionamos el esquema CITAS y hacemos click en el botn


Finish:

Al abrir la conexin recin configurada y el esquema CITAS,


podemos observar que desde nuestra aplicacin Java en Netbeans
tenemos acceso a las tablas del esquema CITAS configurado en la sesin
1 del presente tutorial:

82
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Lo anterior permite comprobar que efectivamente la aplicacin que


se est desarrollando en Java tiene conexin con la Base de Datos Oracle
y reconoce sus diferentes objetos del esquema.
Cada operacin o transaccin que se desee realizar sobre una base de
datos desde una aplicacin externa, requiere establecer una conexin, en
el caso de Java, esta conexin est configurada a travs de un objeto de
la clase Connection que forma parte del paquete java.sql.
Debido a que la creacin de conexiones es una actividad recurrente
cuando se trabaja con acceso a bases de datos, en el presente proyecto
crearemos una clase que se encargue de configurar, crear y retornar la
conexin con la base de datos, esta clase encapsula toda la lgica de la
conexin y solo requiere recibir unos parmetros para crear la conexin.

Crear un nuevo paquete dentro del proyecto ProyectoCitas llamado


recurso y sobre este nuevo paquete, crear una Java Class con el nombre
de Conexin

83
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El cdigo de la clase Conexin es el siguiente:

84
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea
3

Explicacin
Importacin del paquete sql para hacer uso de las clases que permiten
hacer la conexin con la base de datos

Importacin de la clase JOptionPane empleada para presentar un mensaje


al usuario cuando la conexin es incorrecta

Atributos requeridos para hacer la conexin con la base de datos

13.. 17

Se reciben los parmetros ip, que indica la direccin ip donde reside el


servidor de bases de datos, si es local, se define como localhost, los
parmetros usr y pass se refieren a el usuario y password de acceso al
esquema, driver y url son cadenas de conexin usadas de manera particular
para conexiones con bases de datos oracle

20

Registro del driver en la aplicacin

21

Creacin de la conexin con la base de datos

28.. 31

Retorna la conexin establecida

32.. 37

Cierre de la conexin creada

Una de las principales bondades del Modelo Vista Controlador


MVC es la independencia entre sus componentes, esta
independencia la vamos a evidenciar a continuacin, haciendo
un cambio en el modelo dentro de la clase GestorPaciente, el
cual emplea una Lista de tipo LinkedList para almacenar los
pacientes registrados. Esta clase ser modificada para que el
almacenamiento de los pacientes ya no sea en una lista sino
en la base de datos. A pesar de cambiar el modelo para que
responda a esta nueva necesidad, el controlador y la vista
permanecern intactos.

Abrir la clase GestorPaciente y realizar los cambios en el cdigo que


se reflejan a continuacin:

85
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea
9

Explicacin
Declaracin de un objeto de tipo Connection que recibe la conexin
con la base de datos

11.. 15

Constructor de la clase que enva a la clase Conexion los parmetros


especficos de la base de datos y obtiene la conexin con la misma

20

Se crea un objeto de tipo PreparedStatement, a partir de la conexin


creada en el constructor y se establece la sentencia insert, dejando los
valores de la misma para ser establecidos posteriormente

21.. 25

Definicin de los valores que se deben insertar a travs de la sentencia


insert

26

Ejecuta la sentencia insert sobre la base de datos

86
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo:


Lnea
36
38.. 48
20
21.. 25
26

Explicacin
LinkedList para retornar los pacientes consultados de la base de datos
De acuerdo con el parmetro de bsqueda se configura la consulta especfica
(buscar por la identificacin, por el nombre, por el apellido o por el sexo)
Se ejecuta la consulta
Recorre los resultados de la consulta, con cada registro devuelto se crea un
paciente nuevo , el cual se almacena en el LinkedList que ser retornado
Retorno del LinkedList que posee a todos los pacientes que cumplen con
el criterio de bsqueda enviado al mtodo

87
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Despus de realizados los cambios en la clase GestorPaciente que


corresponde al modelo, podemos compilar y ejecutar la aplicacin,
notaremos que no se hace necesario realizar cambios en las otras capas
de la aplicacin y que ahora el almacenamiento de los pacientes
registrados y las consultas de los mismos se realiza sobre la base de
datos.

88
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 7: ACCEDIENDO A LA BASE DE DATOS CON JPA


En la sesin anterior, el almacenamiento y la consulta de informacin sobre
la base de datos se realiz a travs de JDBC Java DataBase Connectivity.
A travs de JDBC pudimos observar que se hace necesario emplear sentencias SQL Structured Query Language como la sentencia Insert para registrar un nuevo paciente en la base de datos y la sentencia Select para consultar los pacientes de la base de datos que cumplieran con un determinado criterio de bsqueda.
En esta sesin vamos a emplear un mecanismo diferente de acceso y gestin de los datos en una base de datos conocido como JPA Java Persistence
API.
El mecanismo de persistencia JPA permite a los desarrolladores
crear Clases mapeando los atributos de las mismas con
campos de una tabla en una base de datos relacional.
Este mapeo, el cual se realiza a travs de anotaciones dentro
de la clase, permite abstraer el modelo de la base de datos a
nivel de aplicacin, logrando mayor transparencia en el acceso
y la gestin de los datos, permitiendo que los objetos creados
en una aplicacin se puedan persistir en la base de datos.

89
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Antes de iniciar, es recomendable realizar una copia de la carpeta del


proyecto ProyectoCitas, renombrar la copia como ProyectoCitas2 y abrir
esta ltima desde Netbeans, con esto, los cambios efectuados en el
proyecto no afectarn el proyecto respaldado.

Para iniciar, debemos abrir el proyecto copia desde Netbeans y en el


eliminar las clases Paciente y GestorPaciente del paquete modelo,
haciendo click derecho sobre ellas y seleccionando la opcin Delete:

Al eliminar las clases Paciente y GestorPaciente aparecern unos errores


en clases del paquete controlador. Estos errores se dan por la dependencia
existente entre el controlador y el modelo, ms adelante solucionaremos
dichos errores.

90
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

A continuacin, creamos una unidad de persistencia, hacemos click


derecho sobre el proyecto ProyectoCitas y seleccionamos del men
contextual la opcin New
Other:

91
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Seleccionamos de la ventana la categora Persistence y el tipo de


archivo Persistence Unit y hacemos click en Next:

Indicamos la librera de persistencia a utilizar y la conexin de base


de datos que se emplear, en nuestro caso, la conexin ya existe.
Hacemos click en Finish:

92
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Automticamente se crea la unidad de persistencia, conformada por


un archivo xml llamado persistence.xml dentro de una carpeta META-INF.
Este archivo persistence.xml contiene informacin relacionada con la base
de datos y las libreras JPA:

Luego de creada la unidad de persistencia, procedemos a crear las Clases


de Entidad, estas clases son Clases Java que se mapean a tablas de la
base de datos.

Hacemos click derecho sobre el paquete modelo, el cual debe estar


vaco y seleccionamos del men contextual New
Other:

De la ventana emergente, seleccionamos la categora Persistence y


el tipo de archivo Entity Classes from Database:

93
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la siguiente ventana se selecciona la conexin de base de datos


ya establecida anteriormente, de esta forma, se cargan las tablas de la
base de datos, seleccionamos la tabla que nos interesa en nuestra
aplicacin PACIENTES y hacemos click en Next:

94
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la siguiente ventana, quitamos la seleccin de los checkBox y


hacemos click en Next:

En la siguiente ventana dejamos las opciones por defecto y hacemos


click en Finish:

95
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Observamos que la clase Pacientes ha sido creada dentro del


paquete modelo:

Al abrir la clase Pacientes podemos observar todo el cdigo que se


crea de manera automtica, este cdigo contiene los atributos, los
constructores y los mtodos getters y setters de la clase Pacientes
basados en los campos de la tabla PACIENTES de la base de datos.
Adems de estos elementos de la clase, tambin se observan una serie de
clases del paquete javax.persistence importadas. Estas clases son las que
forman parte de la JPA, por ltimo, sobresale un conjunto de signos de
arroba (@), estos elementos son anotaciones, las cuales permiten
mantener el mapeo (vnculo) entre los atributos de la clase y los campos
de la tabla PACIENTES.

96
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

97
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Una vez creada la Clase de Entidad, se debe crear la clase que controle a
esta entidad, es decir, requerimos de una clase que permita ejecutar
operaciones sobre los pacientes como por ejemplo agregarlos,
modificarlos o consultarlos.

Hacemos click derecho sobre el paquete modelo y seleccionamos del


men contextual la opcin New
Other, de la ventana emergente,
seleccionamos la categora Persistence y el tipo de archivo JPA Controller
Classes from Entity Classes y hacemos click en Next:

98
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Seleccionamos la clase de entidad que existe en nuestro proyecto


Pacientes y hacemos click en el botn Next:

99
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Por ltimo seleccionamos el paquete modelo y hacemos click en


Finish:

Observamos como la nueva clase se agrega al paquete modelo y se


crea automticamente un nuevo paquete llamado modelo.exceptions, el
cual contiene 3 clases de tipo excepcin.

100
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

De esta manera, se crea de manera automtica la clase


PacientesJpaController, esta clase contiene mtodos como create, edit,
destroy y find que se emplean para insertar, modificar, eliminar y
consultar pacientes de la base de datos respectivamente.

101
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ahora
que
hemos
creado
las
clases
Pacientes
y
PacientesJpaController con la api JPA, solo resta hacer uso de ellas desde
las clases del paquete controlador de nuestro proyecto. Para eso,
debemos modificar algunas partes del cdigo de las clases PacienteControl
y GestorPacienteControl del paquete controlador para que usen los
mtodos de las clases Pacientes y PacientesJpaController creadas a travs
del asistente.

Abrimos la clase PacienteControl y sobre ella realizamos las


modificaciones respectivas en su cdigo:

Explicacin del cdigo:


Lnea

Explicacin

16

Declaracin del objeto de tipo JpaController que permite realizar


operaciones contra la base de datos

21

Definicin de la unidad de persistencia empleada

22

Creacin del objeto de tipo JpaController que realizar operaciones contra


la base de datos

40

Creacin de un objeto de la clase Pacientes que se encuentra mapeada


con la tabla Pacientes de la base de datos

41.. 45
48

Asignacin de valores a los atributos de la clase Pacientes


Uso del objeto de tipo PacientesJpaController para insertar un nuevo
paciente en la tabla PACIENTES a travs del mtodo create

102
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

La clase PacienteControl cambi un poco su cdigo para hacer uso de la


clase PacientesJpaController y gracias a esto, la insercin de pacientes en
la base de datos se realiza de manera ms directa y sin utilizar el lenguaje
SQL.
Ahora, para presentar el resultado de la consulta que el usuario realice en
el formulario Consulta de Pacientes, debemos modificar tambin el cdigo
de la clase GestorPacienteControl del paquete controlador para que utilice
la clase PacientesJpaController del paquete modelo y as pueda consultar
los datos de la tabla PACIENTES sin necesidad de emplear el lenguaje SQL.

103
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Abrimos la clase GestorPacienteControl y realizamos los siguientes


cambios en su cdigo:

Explicacin del cdigo:


Lnea

Explicacin

11

Declaracin del objeto de tipo JpaController que permite realizar operaciones


contra la base de datos

17

Definicin de la unidad de persistencia empleada

18

Creacin del objeto de tipo JpaController que realizar operaciones contra


la base de datos

35

Se obtienen todos los pacientes de la base de datos haciendo uso del mtodo
findPacientesEntities() de la clase PacientesJpaController

36.. 53

Recorrido de cada paciente obtenido y si coincide con el criterio y valor de


bsqueda, se enva al mtodo mostrarEnTabla para que sea presentado en
el JTable del formulario Consulta de Pacientes

55.. 65

Mtodo que recibe un paciente y presenta su informacin en el formulario


Consulta de Pacientes

104
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Antes de ejecutar la aplicacin, es necesario agregar el driver de conexin


Oracle a nuestro proyecto, con el fin de ser reconocido por la unidad de
persistencia.

105
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacemos click derecho sobre la carpeta Libraries de nuestro


proyecto y seleccionamos del men contextual la opcin Add JAR/Folder

Buscamos y seleccionamos el archivo ojdbc6.jar que habamos


descargado en la sesin 6, recordemos que este archivo es el driver de
conexin con oracle:

106
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Nuestro proyecto ya ha quedado listo, al ejecutarlo el funcionamiento


debe ser el mismo que obtuvimos en la sesin 6, con acceso a la base de
datos, pero en lugar de usar JDBC, usamos JPA

107
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

SESIN 8: GENERANDO REPORTES IMPRESOS


Para finalizar el proyecto, crearemos un reporte impreso que mostrar
informacin obtenida de la base de datos. El reporte presentar la informacin de todos los pacientes registrados.
Las herramientas que emplearemos para la creacin y visualizacin del
reporte son: Ireport y JasperReports, estos plugins se agregan a Netbeans
formando parte de su entorno de desarrollo integrado.

Para conocer ms detalles sobre ireport, puede visitar el


siguiente link:
http://es.scribd.com/doc/37388195/Manual-de-Ireport

108
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Los plugins necesarios estn conformados por los siguientes


archivos:

Para descargar los plugins, acceder a la siguiente ruta en la plataforma del


curso: Actividades/Fase Desarrollo/ Actividad de Proyecto 7/
Materiales Requeridos y de Apoyo/

Una vez descargados los archivos en cualquier ruta del equipo,


desde netbeans, seleccione el men Tools
Plugins:

109
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Seleccionamos la pestaa Downloaded y luego hacemos click en el


botn Add Plugins, posteriormente buscamos los archivos descargados y
hacemos click en el botn Abrir:

Hacemos click en el botn Install y seguimos los pasos del asistente


para la instalacin. Durante la instalacin, es posible que se deba
deshabilitar el firewall desde el panel de control para que se lleve a cabo
correctamente.

110
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Al terminar la instalacin, hacemos click en el botn Finish:

Para que el nuevo plugin instalado tome efecto, se recomienda


cerrar y volver a abrir el netbeans.

Al ingresar al netbeans, notaremos algunos elementos nuevos en su


entorno, se trata de los componentes asociados a los reportes de ireport,
ellos son el origen de datos y la ventana de salida de ireport:

111
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Ingresamos al men Tools

Libraries:

Y all notaremos la librera JasperReports con todos sus archivos jar


asociados:

112
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Luego de verificar lo anterior, pasaremos a realizar una prueba de


conexin del componente ireport contra la base de datos, para ello,
hacemos click en el botn de Report DataSources:

Posteriormente, hacemos click en el botn New de la ventana de


conexiones:

Seleccionamos Database JDBC Connection y hacemos click en el


botn Next:

113
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la siguiente ventana, ingresamos un nombre para nuestra


conexin que puede ser cualquiera, en este caso ReportesCitas,
seleccionamos
el
JDBC
Driver
de
Oracle
Oracle
(oracle.jdbc.driver.OracleDriver),
ajustamos
el
JDBC
URL
jdbc:oracle:thin:@localhost:1521:XE, ingresamos el Username y Password
citas y hacemos click en el botn Test, luego de esto nos preguntarn
nuevamente el Password, ingresamos nuevamente citas y aparecer que la
conexin fue exitosa Connection test successful, finalmente hacemos click
en el botn Save para guardar la conexin creada:

114
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Note que en el JDC URL se cambia al final MYDATABASE por XE,


indicando con ello que nos conectaremos a una base de datos Oracle
Express.

Si al momento de seleccionar el JDBC Driver la opcin de oracle aparece


en color rojo, significa que debemos asociar el driver de oracle en ireport,
esto se hace siguiendo el men Tools
Options, seleccionando la pestaa
ireport y dentro de esta la ficha Classpath y all seleccionar el archivo jar
del driver oracle ojdbc6.jar o ojdbc14.jar:

115
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Una vez creada la conexin desde ireport con la base de datos, pasamos a
agregar algunas libreras adicionales a nuestro proyecto, estas libreras
son necesarias para que el reporte finalmente pueda ser visualizado e
impreso a travs de algn medio externo como una impresora.

Las libreras adicionales son las siguientes:

Estas libreras pueden ser descargadas de internet o desde la plataforma


del curso en la siguiente ruta: Actividades/Fase Desarrollo/ Actividad
de Proyecto 7/ Materiales Requeridos y de Apoyo/

Una vez descargadas las libreras, pasamos a agregarlas al proyecto como


lo hemos hecho antes con otras libreras, hacemos click derecho sobre la
carpeta Libraries y seleccionamos del men contextual la opcin Add
JAR/Folder, las seleccionamos y agregamos:

116
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Podemos observar que las libreras quedan formando parte del


proyecto:

Despus de agregar los componentes, probar la conexin con la base de


datos y agregar las libreras necesarias, es hora de crear el reporte.

Dentro del proyecto creamos un nuevo paquete llamado reportes,


hacemos click derecho sobre el mismo y seleccionamos del men
contextual la opcin New
Other:

117
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

De la ventana emergente, seleccionamos la categora Report y el


tipo de archivo Report Wizard y hacemos click en Next:

Ingresamos un nombre para el reporte PacientesReport y hacemos


click en el botn Next:

118
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la siguiente pantalla seleccionamos la conexin anteriormente


creada ReportesCitas y escribimos la consulta SELECT * FROM PACIENTES
order by PacApellidos, ya que en nuestro reporte deseamos mostrar la
informacin de todos los pacientes registrados en la base de datos.
Hacemos click en el botn Next:

En la siguiente ventana, seleccionamos todos los campos que


deseamos presentar en el reporte, en nuestro caso, todos y hacemos click
en el botn Next:

119
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

En la ventana siguiente, simplemente hacemos click en Next ya que


en este reporte no deseamos agrupar por ningn campo:

En la ventana de Layout, seleccionamos la opcin Tabular Layout y


hacemos click en el botn Next:

120
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Por ltimo hacemos click en el botn Finish:

Para verificar el estado parcial del reporte, hacemos click en el botn


Preview:

121
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Haciendo click en el botn Design podemos personalizar el diseo


del reporte, para este ejemplo, solamente vamos a cambiar el ttulo del
reporte y el ttulo de las columnas:

Luciendo finalmente nuestro reporte as:

122
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Al tener el diseo del reporte finalizado y probado de manera


independiente, es el momento de enlazarlo con nuestra aplicacin, para
ello, lo primero que vamos a hacer es crear una clase dentro del paquete
reportes que se encargue de gestionar y mostrar los reportes.

Hacemos click derecho sobre el paquete reportes y seleccionamos


del men contextual la opcin New
Java Class:

Le asignamos el nombre GestorReportes y hacemos click en el botn


Finish:

123
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

El cdigo de esta clase es el siguiente:

Explicacin del cdigo:


Lnea
5.. 9
15.. 28

Explicacin
Importacin de paquetes para la gestin y visualizacin de reportes
Constructor de la clase, donde se crea la conexin con la base de datos,
la cual queda almacenada en la variable conexion

124
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Explicacin del cdigo (continuacin):


Lnea

Explicacin

33

Se obtiene la ubicacin y el nombre del reporte que se desea presentar

34

Carga del reporte seleccionado

35

Se llenan los datos en el reporte con la informacin obtenida de la base de datos


y de acuerdo a algn parmetro, en este caso no existen parmetros null

36

Se llama al visor del reporte, asignando el reporte y sus datos

37

Se hace visible el reporte

Despus de crear la clase GestorReportes con su mtodo ejecutarReporte


debemos modificar la vista para que desde el men archivo del formulario
principal tengamos la opcin de imprimir el listado de pacientes.

Abrimos el formulario PrincipalJFrame y al men Archivo le


agregamos un nuevo Menu Item con el ttulo Imprimir Pacientes
Registrados:

125
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Tutorial Crear Aplicacin JAVA

Hacemos click derecho en el menu Item Imprimir Pacientes


Registrados y del men contextual seleccionamos la opcin Event
Action
actionPerformed:

De esta forma llegamos al evento, all escribimos el siguiente


cdigo:

En el cdigo anterior, instanciamos la clase GestorReportes, invocando


posteriormente el mtodo ejecutarReporte, donde enviamos el nombre del
reporte que deseamos ejecutar.

Ahora probamos la aplicacin y al hacer click en el men Imprimir


Pacientes Registrados debe aparecer la vista previa del reporte y la opcin
de imprimirlo:

De esta manera finalizamos nuestro tutorial de desarrollo de aplicaciones


de escritorio en Java.

126
FAVA - Formacin en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje

Vous aimerez peut-être aussi