Arquitectura MVC (Modelo-Vista-Controlador) de los componentes Swing

Arquitectura MVC (Modelo-Vista-Controlador) de los componentes Swing

Arquitectura MVC (Modelo-Vista-Controlador) de los componentes Swing

Informática

 



Comprender esta arquitectura Modelo-Vista-Controlador (MVC) de los componentes Swing, es fundamental para hacer un buen uso de los mismos.



La arquitectura MVC significa que:



El modelo de un componente está donde están almacenados sus datos.



Por ejemplo, en una lista desplegable (JComboBox), los datos que deben mostrarse al desplegar la lista, pueden estar almacenados en un array de String, por ejemplo. Ese array de String con los elementos a mostrar en la lista, es el modelo de ese JComboBox. También puede ser el estado de un botón: pulsado (clicked), soltado (released), bajo el ratón (entered), etc.



La vista es la representación en pantalla del componente, es decir, es justamente el "dibujo" del componente que nosotros vemos en la ventana de la aplicación.



Lo que muestra la vista es justamente la información que contiene el modelo. En el caso de la lista, es el dibujo de la lista desplegable mostrando los elementos contenidos en el array de String que usamos como modelo. En el caso del botón, podemos tener un botón representado de forma diferente, (con distinta forma, color o texto o imagen) para cada uno de sus distintos estados, y sigue siendo el mismo botón.



El controlador es la parte del componente que gestiona los eventos, como los clicks del ratón.



Piensa que los componentes que incluimos en la ventana normalmente sirven para interactuar con el usuario (botones para realizar acciones, casillas de verificación para activar o no determinadas opciones, cuadros de texto en los que escribir y recoger información, etc. ). Cada una de las interacciones posibles con el usuario de un componente es lo que denominamos evento. Y esos eventos deberán ser "capturados" cuando se produzcan y "procesados" para que la aplicación haga lo que debe hacer cuando se producen. Es el usuario el que tiene que escribir el código que indique lo que tiene que ocurrir cuando se pulsa un botón, o cuando una casilla de verificación está activa, o cuando se pulsa una opción del menú. Ese código que escribe el usuario para indicar lo que tiene que hacer la aplicación ante un evento producido para un componente concreto es el controlador del componente.



Esto tiene la ventaja de que al separar la vista del modelo, por ejemplo, podemos cambiar el aspecto de un componente según los datos que almacene en su modelo. Esto hace posible en Swing, por ejemplo, que tengamos distintas representaciones gráficas de un mismo botón, algo que no era posible en AW.



Florin Marian

Florin MarianArquitectura MVC (Modelo-Vista-Controlador) de los componentes Swing
posicionamiento en buscadores