Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > crear Varias vistas con varios controladores

Buenos dias

Tengo realizada una aplicación de escritorio que no sigue el patrón Modelo Vista y controlador y me gustaría modificarla para que lo siga. He estado durante algún tiempo intentando buscar información y ejemplos por Internet. Pero los ejemplos que he encontrado utilizaban un controlador para varias vistas, y yo al tener muchas vistas y estas vistas tienen muchos eventos, me parece engorroso y dificil de mantener un controlador solo con todas las vistas. Me gustaría en un principio tener para cada vista un controlador, pero no veo la forma de hacerlo. O si alguno me puede decir otra forma mejor de organizar el patrón.

Muchas gracias por su ayuda y saludos.

septiembre 7, 2012 | Unregistered CommenterFermín Martín

Guenas.

Pues utiliza delegados. Eso es mas o menos una vista con controlador incorporado. Cada vista tendrá su propio controlador. Debes pensar que el paradigma MVC en ningún momento indica que vista y controlador deban ser únicos. Para ser sincero pienso que el hecho de usar un controlador único para todo sería muy poco eficaz. Una cosa es la teoria y otra es la practica. Otra cosa es que uses un esqueleto único para el controlador y luego implementes distintas versiones del mismo con solo la implementación completa de los métodos necesarios en cada caso. Eso no rompe el paradigma pero si que simplifica y hace mucho mas claro el código.

Un saludo,
Paposo

septiembre 7, 2012 | Unregistered CommenterPaposo

Gracias por tu pronta respuesta, lo del tema de delagados es como trabaja NetBeans
ejemplo:

btnGuardar = new JButton("Guardar");
panelContenedor.add(btnGuardar);
btnGuardar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btnGuardar_actionPerformed(e);
}
});

public void btnGuardar_actionPerformed(ActionEvent e) {

String accion = e.getActionCommand();
System.out.println(accion);

// función o lo que quieras hacer

}

En este caso solo tendría (vista y el controlador juntas) y el modelo aparte no.

Muchas gracias

septiembre 7, 2012 | Unregistered CommenterFermín Martín

@Fermín

Así es como funciona Swing.
En ese ejemplo, puesto que se trata de un botón, pensar en un modelo separado (aunque se puede) puede ser poco práctico.
Plantéate un JTree y verás si conviene o no usar modelos bien separados ;)

De todos modos, la práctica cotidiana suele dejar las teorías académicas en su sitio: las aulas :D

septiembre 7, 2012 | Registered Commenterchoces