[go: up one dir, main page]

0% encontró este documento útil (0 votos)
180 vistas42 páginas

Tutorial MVC Java con Swing

Este documento describe el desarrollo de una aplicación Java que implementa el patrón de arquitectura MVC (Modelo Vista Controlador). La aplicación permite sumar dos números y separa la interfaz gráfica, la lógica de negocio y el enlace de eventos en clases distintas que representan la Vista, el Modelo y el Controlador respectivamente. El documento explica detalladamente cómo se implementa cada una de estas clases y cómo interactúan entre sí para lograr el objetivo de sumar y mostrar el resultado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
180 vistas42 páginas

Tutorial MVC Java con Swing

Este documento describe el desarrollo de una aplicación Java que implementa el patrón de arquitectura MVC (Modelo Vista Controlador). La aplicación permite sumar dos números y separa la interfaz gráfica, la lógica de negocio y el enlace de eventos en clases distintas que representan la Vista, el Modelo y el Controlador respectivamente. El documento explica detalladamente cómo se implementa cada una de estas clases y cómo interactúan entre sí para lograr el objetivo de sumar y mostrar el resultado.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 42

Desarrollo de Aplicaciones Java

Arquitectura MVC
Interaccin entre el Modelo, la Vista y el Controlador.
Autor del Presente Tutorial
Ingeniero de Sistemas
Ignacio R. Aular R.
SCJP 310-055

Esquema

Uso de libreras para crear elementos

grficos. Distribucin de la aplicacin en


tres capas.

Objetivo
Mostrar el uso del patrn MVC en el
desarrollo de aplicaciones de
escritorio implementando las
libreras swing de Java.

Situacin Presente
Carencia de material instruccional con
contenidos
bre- que permita al joven novicio
ves
y precisos
aprender con una curva mnima de esfuerzo,
para poder ofrecer Soluciones de Software de
Calidad, en cumplimiento con los lineamientos
xigidos por el PNFI, de acuerdo al perfil que
debe poseer el egresado como Ingeniero en
Informtica.

Estudiantes principiantes en Java requieren


asesora
constante
para comprender y aplicar el patrn
MVC.

Alternativas Posibles
Conocer las convenciones
de
internacionales
Java emanadas por Oracle
(Ingles).

Investigar,
conocer y
deaplicar
escrituralas
de programas
normasen
Java.

Recomendaciones
La primera alternativa es muy
recomendada.
Conocer la importancia
de
seguir las
ciones para
convenescritura de cdigo en
cualquier len- guaje de programacin, de
marcado o de comu- nicacin con base de
datos.

En el prximotutorial
veremos
con
la base
interaccin
de datos bajo el patrn MVC, no
se lo pueden perder.

Ejemplo Swing de Java y MVC


Interfz Grfica de Usuario (GUI)

Descripcin General
La Vista recibe datos por parte del
Reacciona ante la ocurrencia de un
usuario.

evento. Hace el llamado al


Controlador.

El Controlador escucha el

evento. Transfiere la solicitud

Controlador
al Modelo. y

ste

leinforma

El Modelo Vista
procesa
datos y que los muestre
para
retorna la informacin al
como resultado al usuario.

la

Arquitectura MVC Bsica


VISTA
Solamente
Componentes
Grficos

CONTROLADOR
Conecta la Vista
y al Modelo

MODELO
Base de Datos
Lgica

Idea Global
Introduccin:
La arquitectura MVC se usa para separar el la
Vista del
Modelo que interactan entre s
mediante un comunicador comn entre ambos
llamado Controlador.

Tutorial:
Nuestra aplicacin se llamar: "Sumar dos
nmeros", la misma ser usada para mostrar la
arquitectura MVC y es por tanto que se dividir
este programa en cuatro partes.

Clases de la Aplicacin

Modelo: ClaseModelo.

Vista: ClaseVista.

Controlador: ClaseControlador.

Inicializadora: ClasePrincipal.

La Vista Parte 1
Importar Libreras:
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import
javax.swing.JTextField;

La Vista Parte 2
Definicin de clase:
public class ClaseVista extends
JFrame
{

La Vista Parte 3
Declaracin de objetos:
Container bloqueContenedor = null;
JTextField cajaDeTextoNumero1 =
null; JTextField cajaDeTextoNumero2
=
null;
JTextField
cajaDeTextoResultado = null;
JLabel etiquetaNumero1 =
null;
JLabel
etiquetaNumero2 = null;
JLabel etiquetaResultado =
null;

La Vista Parte 4
Definicin del constructor:

public ClaseVista()
{

La Vista Parte 5
Definiendo el contenedor:
bloqueContenedor =
getContentPane();
setTitle("Calculadora MVC");
setLayout(new FlowLayout());
setSize(220,200);

La Vista Parte 6
Definiendo cada componente:
etiquetaNumero1 = new JLabel("Numero
01: "); cajaDeTextoNumero1 = new
JTextField("", 10);
etiquetaNumero2 = new JLabel("Numero
02: "); cajaDeTextoNumero2 = new
JTextField("", 10);
etiquetaResultado = new
JLabel("Resultado: ");
cajaDeTextoResultado = new JTextField("",

La Vista Parte 7
Agregamos cada conponente al contenedor:
bloqueContenedor.add(etiquetaNumero1)
;
bloqueContenedor.add(cajaDeTextoNumer
o1);
bloqueContenedor.add(etiquetaNumero2)
;
bloqueContenedor.add(cajaDeTextoNumer
o2);
bloqueContenedor.add(etiquetaResultado);

La Vista Parte 9
Hacemos que el contenedor sea visible:

setVisible(true);
}
}

El Controlador Parte 1
Importamos Libreras:

import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;

El Controlador Parte 2
Definimos la clase:
public class ClaseControlador implements
ActionListener

El Controlador Parte 3
Declaramos dos objetos nuevos:
ClaseModelo objModelo =
null; ClaseVista objVista =
null;

El Controlador Parte 4
Definimos el constructor:
public ClaseControlador(ClaseVista objVista, ClaseModelo
objModelo)

{
this.objModelo = objModelo;
this.objVista = objVista;
actionListener(this); // Escuchador para el
botn

El Controlador Parte 5
Sobreescribir un mtodo:
@Override
public void actionPerformed(ActionEvent objEvento)

{
try
{

El Controlador Parte 6
Tomamos los datos de entrada:
// Capturamos los nmeros desde la vista
String numero1 =
this.objVista.cajaDeTextoNumero1.getText(); String
numero2 = this.objVista.cajaDeTextoNumero2.getText();

El Controlador Parte 7
Llamamos al mtodo para sumar:
int resultado = objModelo.sumarDosEnteros(numero1,
numero2);

El Controlador Parte 8
Mostramos los datos en la salida:
// Mostramos el resultado en la vista (GUI)
objVista.cajaDeTextoResultado.setText( "" +
resultado );
}

El Controlador Parte 9
S ocurre un error lo mostramos:
catch(Exception objExcepcion)
{
objExcepcion.printStackTrace();
}
}

El Controlador Parte 10
Proporcionamos un escuchador:
public void actionListener(ActionListener escuchador)
{
objVista.botonSumar.addActionListener(escuchador)
;
}
}

El Modelo Parte 1
Definimos la clase:

public class
ClaseModelo
{

El Modelo Parte 2
Definimos el mtodo para sumar:
// Implementa la lgica del objetivo principal del programa

public int sumarDosEnteros(String n1, String


n2)
{

El Modelo Parte 3
Declaramos, convertimos e inicializamos:
int

numero1

Integer.parseInt(n1);

=
int

numero2 = Integer.parseInt(n2);
int resultado = numero1 +
numero2;

El Modelo Parte 4
Retornamos el resultado al llamador:

return (resultado);
}
}

La Clase Principal Parte 1


Definimos la clase:

public class
ClasePrincipal
{

La Clase Principal Parte 2


Definimos el metodo principal:

public static void main(String args[])


{

La Clase Principal Parte 3


Creamos los objetos necarios:
ClaseModelo modelo = new
ClaseModelo(); ClaseVista vista = new
ClaseVista();

La Clase Principal Parte 4


Instanciamos al constructor de la clase:
new ClaseControlador(vista, modelo);
}
}

La Clase Principal Parte 5


Pasamos los objetos al controlador:
new ClaseControlador(vista, modelo);
}
}

Ejecucin de la Aplicacin
Parte 1
Compilar Java desde la terminal:
usuario@localhost:~$ javac
ClasePrincipal.java
Ejecutar Java desde la terminal:
usuario@localhost:~$ java
ClasePrincipal

Ejecucin de la Aplicacin
Parte 2

Ejecucin de la Aplicacin
Parte 3

Calculadora MVC:

También podría gustarte