Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Base de Datos / Componentes / iReport / Java / Java / Look and Feel / MVC / Proyectos / Ejemplo práctico de MVC java Swing con Netbeans

Ejemplo práctico de MVC java Swing con Netbeans

Por jc mouse jueves, febrero 9, 2012

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 🙂

DESCARGAR (Actualizado 7/09/2015)

Tags

Artículos similares

Estilos condicionales en iReport

iReport nos da la posibilidad de dar un formato condicional a los diferentes registros resultado de nuestras consultas S[...]

Ordenación de burbuja animado

La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Este algoritmo es esencialmen[...]

Facturación electrónica: El Código de Control

¿Que es la facturación electrónica? Una factura es un documento que sirve para describir el costo de los servicios y des[...]

Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames[...]

Pruebas Unitarias con PHPUnit

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente[...]

Dibujando con Canvas

La clase Canvas (Lienzo)  de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para[...]