Ejemplo práctico de MVC java Swing con Netbeans


Programación de Asignaturas

Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de negocio en tres componentes distintos. (Según Santa Wikpedia)

Un poco de teoria.

  • Modelo: Esta es la representación específica de la información con la cual el sistema opera. Tambien es la que interactua directamente con la base de datos
  • Vista: Este presenta el modelo en un formato adecuado para interactuar con el sistema, usualmente la interfaz de usuario.
  • Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.

Flujo que sigue la implementación de este modelo.

  1. El Usuario interactua con el sistema a travez de la Vista de Usuario (GUI) por ejemplo presionando botones, introducciendo texto, moviendo el mouse por la pantalla, etc.
  2. El Controlador es el que recibe todas estas acciones provocadas por la interaccion Usuario-Interfaz y actua en consecuencia, “Si Evento X entonces realizar Acción Y“.
  3. El controlador entonces accede al Modelo para, dependiendo del evento solicitado, realizar una actualización (registro, edición o eliminado de información) en la base de datos o solicitar información (una consulta por ejemplo).
  4. La información es procesada en modelo-controlador y es el controlador el encargado de generar una salida para el usuario (Mensaje de error si ocurrio un problema, actualización de información presente en pantalla o generar una nueva pantalla).
  5. Entonces la la Interfaz de usuario (Vista) queda otra vez en espera de una acción del usuario del sistema para repetir el ciclo nuevamente.

:) Hasta ahi todo bien, es la teoria resumida (espero que bien) de lo que es un Patron MVC (Model, View and Controller) pero nada es la teoria si no la llevamos a la practica, sin embargo debo decir que el patrón MVC es más común en aplicaciones web que en aplicaciones de escritorio, buscando información en la internet son pocas y la gran mayoria información en ingles (sin dibujos :( ) sobre aplicaciones Swing-Java, pero eso no quiere decir que no se pueda, si se puede, y es más Java tiene sus propias herramientas para implementar este patrón (Observer y Observable) pero para este proyecto decidi basarme más en un modelo PHP-MVC que tengo, en el cual la migración no es muy complicada ya que ambos trabajan bajo POO.

Herrammientas utilizadas. Se utilizaron las siguientes tecnologias:

  • IDE Netbeans 6.9
  • Un servidor de Base de Datos MySQL
  • Librerias para el manejo de reportes (JasperReport v3.7.2)

- commons-beanutils-1.8.2.jar
- commons-collections-3.2.1.jar
- commons-digester-1.7.jar
- commons-javaflow-20060411.jar
- commons-logging-1.1.jar
- groovy-all-1.5.5.jar
- iText-2.1.7.jar
- jasperreports-3.7.2.jar

  • Conector *.JAR para Java y MySQL

mysql-connector-java-5.1.6-bin.jar

  • Librerias para el diseño de la interfaz de usuario (Estas librerias son escritas por mi y estan en la Web/Blog)

- j2Button.jar: Para el manejo de botones multilinea
- JCDesktopPane.jar: Para trabajar con formularios MDI y con imagen de fondo.
- jcMousePanel-1.6.9.jar: Para agregar imagenes y degradado a los JPanel.
- jcTablaAsignatura.jar: Este componente simula una pequeña tabla para trabajar con la info de la base de datos.

Todas estas librerias estan dentro el archivo de descarga al final de la página :)

  • Un diseñador de reportes JaspertReport o puedes usar tambien el plugin para Netbeans

¿Que necesitas saber?

  • Java Intermedio-Avanzado
  • Lenguaje MySql
  • Uso de Netbeans el IDE que utilizamos para el proyecto (agregar librerias, cambiar propiedades, etc)
  • Uso de JasperReport

¿Qué espero de ti?

  • Primero que te guste el proyecto y aprendas con él
  • Que realices criticas constructivas, yo no lo se todo y me equivo, pero de los errores se aprende :)
  • Si te sirvio el proyecto, recomiendalo ;)

EL PROYECTO

java swing mvc

reporte java

El proyecto elegido para la implementación del Patrón MVC-Java es el de “Programación de Asignaturas” de una Universidad Imaginaria con la impresión de su respectiva matriculación.

Al iniciar el sistema debes autentificarte dando tu CU (Carnet Universitario) y tu CI (Carnet de identidad), una vez logueado en el sistema debes programarte, si ya estas programado, el sistema no te deja programarte dos veces, solo puedes ver tu matriculación y realizar la impresión del mismo, caso contrario el sistema te presenta una lista de 8 asignaturas con sus respectivos grupos, los cuales puedes seleccionar y programar. Pero mejor ve el siguiente video asi te queda más claro todo.

Pues nada eso es todo, el proyecto esta tan comentado que te aburriras leyendome :)

Click para descargar

¿Te gusto el post? Comparte con tus amigos...


Deja un comentario

Nombre (obligatorio)

Email (obligatorio)

Website


4 + seis =

Freelancer
  • Ultimas entradas

  • Categorias