bloque4:mvc
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| bloque4:mvc [12/03/2018 10:44] – Fernando Valdeón | bloque4:mvc [16/09/2024 20:53] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 9: | Línea 9: | ||
| * El **controlador** es la capa que comunica a las otras dos. Al llamar a su constructor, | * El **controlador** es la capa que comunica a las otras dos. Al llamar a su constructor, | ||
| - | Resulta aconsejable que al menos las clases que representan el modelo, la vista y el controlador estén dentro del mismo paquete ('' | + | Resulta aconsejable que al menos las clases que representan el modelo, la vista y el controlador |
| ===== Vista ===== | ===== Vista ===== | ||
| Línea 19: | Línea 19: | ||
| JTextField textNombre; | JTextField textNombre; | ||
| JTextField textApellidos; | JTextField textApellidos; | ||
| - | ... //Todos los componentes swing que gestione desde el controlador | + | ... |
| + | | ||
| | | ||
| | | ||
| Línea 30: | Línea 31: | ||
| setTitle(" | setTitle(" | ||
| setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
| - | ... //resto del código generado por WindowBuilder | + | ... |
| + | | ||
| | | ||
| set visible(true); | set visible(true); | ||
| Línea 36: | Línea 38: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Modelo ===== | ||
| + | El modelo es la clase que maneja los datos de la aplicación y permite las operaciones. | ||
| + | Los puede obtener desde un fichero o desde una base de datos. Puede cargar esos datos en una estructura como el ArrayList o leerlos cada vez. No tiene ningún conocimiento ni interacción con la vista, y devuelve y recibe los datos tal cual se los pide el controlador. | ||
| + | |||
| + | <code java> | ||
| + | public class Modelo{ | ||
| + | // | ||
| + | | ||
| + | ... | ||
| + | |||
| + | | ||
| + | listaPersonas = new ArrayList< | ||
| + | } | ||
| + | |||
| + | |||
| + | // | ||
| + | | ||
| + | return listaPersonas; | ||
| + | } | ||
| + | |||
| + | |||
| + | // | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | |||
| + | ... | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| ===== Controlador ===== | ===== Controlador ===== | ||
| Línea 69: | Línea 106: | ||
| </ | </ | ||
| - | ===== Modelo ===== | + | ==== Controlador implementando interfaces |
| - | El modelo es la clase que maneja los datos de la aplicación y permite | + | Otra forma mucho más elegante de implementar |
| - | Los puede obtener desde un fichero o desde una base de datos. Puede cargar esos datos en una estructura como el ArrayList o leerlos | + | |
| <code java> | <code java> | ||
| - | public class Modelo{ | + | public class Controlador implements ActionListener{ |
| - | //Lista con los datos que gestiona mi aplicación | + | |
| - | | + | private |
| - | ... | + | |
| - | | + | // |
| - | | + | public |
| - | | + | |
| - | } | + | |
| - | | + | |
| - | | + | |
| - | | + | } |
| - | | + | |
| - | | + | |
| - | | + | public |
| - | | + | vista.botonNuevo.addActionListener(listener); |
| - | | + | vista.botonEliminar.addActionListener(listener); |
| - | | + | |
| - | | + | |
| - | Persona nuevaPersona | + | // |
| - | listaPersonas.add(nuevaPersona); | + | //Es el encargado de gestionar |
| - | } | + | |
| - | | + | |
| - | | + | String comando |
| - | | + | |
| + | | ||
| + | case " | ||
| + | // | ||
| + | break; | ||
| + | case " | ||
| + | //codigo para el boton eliminar | ||
| + | break; | ||
| + | |||
| + | | ||
| + | } | ||
| + | } | ||
| + | | ||
| } | } | ||
| </ | </ | ||
| + | |||
| ===== Lanzar la aplicación ===== | ===== Lanzar la aplicación ===== | ||
bloque4/mvc.1520851497.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)
