anexos:intellij
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| anexos:intellij [2022/11/28 14:40] – creado - editor externo 127.0.0.1 | anexos:intellij [2024/09/16 20:53] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 107: | Línea 107: | ||
| ====Separación de GUI y Listener==== | ====Separación de GUI y Listener==== | ||
| - | Es útil separar las clases que contienen componentes gráficos de las clases que gestionan los eventos sobre esos componentes. Cuando consigo que las clases tengan funcionalidades independientes, | + | Es útil separar las clases que contienen componentes gráficos de las clases que gestionan los eventos sobre esos componentes. Cuando consigo que las clases tengan funcionalidades independientes, |
| Para ello, en lugar de crear los listeners en la clase vinculada al GUI Form, lo voy a hacer en una clase distinta. | Para ello, en lugar de crear los listeners en la clase vinculada al GUI Form, lo voy a hacer en una clase distinta. | ||
| Línea 138: | Línea 138: | ||
| <code java> | <code java> | ||
| - | public class Manejador | + | public class Controlador |
| private Vista vista; | private Vista vista; | ||
| - | public | + | public |
| this.vista = vista; | this.vista = vista; | ||
| | | ||
| - | /* Al crear un objeto de la clase Manejador, | + | /* Al crear un objeto de la clase Controlador, |
| vincularé esta propia clase con los componentes de la GUI | vincularé esta propia clase con los componentes de la GUI | ||
| sobre los que quiero capturar eventos de este tipo */ | sobre los que quiero capturar eventos de este tipo */ | ||
| Línea 157: | Línea 157: | ||
| public void actionPerformed(ActionEvent e) { | public void actionPerformed(ActionEvent e) { | ||
| // Tareas a realizar cuando se capture el evento | // Tareas a realizar cuando se capture el evento | ||
| - | | + | |
| } | } | ||
| } | } | ||
| Línea 170: | Línea 170: | ||
| public static void main(String[] args) { | public static void main(String[] args) { | ||
| Vista vista = new Vista(); | Vista vista = new Vista(); | ||
| - | | + | |
| } | } | ||
| } | } | ||
| Línea 232: | Línea 232: | ||
| El fichero JAR se creará en la ruta especificada. | El fichero JAR se creará en la ruta especificada. | ||
| {{ : | {{ : | ||
| + | |||
| + | |||
| ===== GUI Dinámica ===== | ===== GUI Dinámica ===== | ||
| - | Se conoce como GUI dinámica a una interfaz gráfica que permite | + | Se conoce como GUI dinámica a una interfaz gráfica que permite |
| + | |||
| + | La idea es diferente a construir nuevas ventanas (JFrame o JDialog) en tiempo de ejecución. Se busca añadir o eliminar componentes a una misma ventana. | ||
| + | Podemos añadir componentes existentes en la API de Swing, pero en ciertas ocasiones puede que nos interese diseñar componentes personalizados que cumplan una finalidad concreta. | ||
| ====Crear componentes==== | ====Crear componentes==== | ||
| - | Para crear componentes que podamos añadir a otras ventanas, podemos hacerlos de dos formas: | + | Para crear componentes |
| - | * Diseñando el componente mediante código Java | + | * Diseñando el componente |
| - | * Diseñando el componentes | + | * Diseñando el componente |
| - | Para diseñarlo con el diseñador, debemos tener en cuenta que la clase que vinculada al //GUI Form// que creo con IntellJ, no es un componentes gráfico de Java en sí, es decir, no es una clase que extienda de JComponent, u otro componente gráfico. | + | Para diseñarlo con el //UI Designer//, debemos tener en cuenta que la clase que vinculada al //GUI Form// que crea IntellJ, no es un componentes gráfico de Java en sí, es decir, no es una clase que extienda de JComponent, u otro componente gráfico. |
| - | Pero como hemos visto, | + | Pero como hemos visto, el diseñador |
| <code java> | <code java> | ||
| Línea 298: | Línea 304: | ||
| . . . | . . . | ||
| </ | </ | ||
| - | |||
| - | === Videotutoriales=== | ||
| {{ vimeo> | {{ vimeo> | ||
anexos/intellij.1669646424.txt.gz · Última modificación: 2024/09/16 20:53 (editor externo)