bloque4:organizargui
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:organizargui [10/05/2018 09:45] – [Asociar nuestra ventana con nuestra aplicación] Fernando Valdeón | bloque4:organizargui [16/09/2024 20:53] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 12: | Línea 12: | ||
| Para organizar las clases que creemos con WindowBuilder, | Para organizar las clases que creemos con WindowBuilder, | ||
| - | - organizar el constructor en un par de métodos | + | - organizar |
| - eliminar el método main de esta clase | - eliminar el método main de esta clase | ||
| Línea 24: | Línea 24: | ||
| {{ : | {{ : | ||
| - | La finalidad de estos dos métodos es simplemente organizativa, | + | La finalidad de estos dos métodos es simplemente organizativa, |
| **Estos dos métodos serán llamados por el constructor de la clase.** | **Estos dos métodos serán llamados por el constructor de la clase.** | ||
| ==== 2 - Eliminar el método main ==== | ==== 2 - Eliminar el método main ==== | ||
| - | El método main generado por WindowBuilder usa hilos de ejecución, y no queremos usarlo. La ventana será creada desde un método main en otra clase, como por ejemplo: | + | El método main generado por WindowBuilder usa hilos de ejecución y no queremos usarlo; por lo tanto los borraremos. **La ventana será creada desde un método main en otra clase**, como por ejemplo: |
| <code java> | <code java> | ||
| Línea 49: | Línea 49: | ||
| En la siguiente imagen hemos incluido un JButton (botón) y un JTextField (campo de texto). Si en el editor de WindowBuilder pulsamos con el botón derecho sobre el botón se nos desplegará el menu que vemos en la imagen. | En la siguiente imagen hemos incluido un JButton (botón) y un JTextField (campo de texto). Si en el editor de WindowBuilder pulsamos con el botón derecho sobre el botón se nos desplegará el menu que vemos en la imagen. | ||
| - | La mayor parte de las acciones que realizaremos sobre un elemento gráfico pueden responder al evento ActionPerformed, | + | La mayor parte de las acciones que realizaremos sobre un elemento gráfico pueden responder al evento |
| {{ : | {{ : | ||
| - | En ese momento WindowBuilder nos habrá generado algo más de código en el método iniciarComponentes(): | + | En ese momento WindowBuilder nos habrá generado algo más de código en el método |
| {{ : | {{ : | ||
| - | El código relativo a nuestros componentes se crea dentro del método '' | + | El código relativo a nuestros componentes se crea ahora dentro del método '' |
| - | Si queremos organizar nuestro código de la forma mas clara posible | + | Si queremos organizar nuestro código de forma más clara debemos mover este código dentro del método que hemos creado para tal fin: |
| {{: | {{: | ||
| Además hemos incluido el código referente para mostrar un saludo en el campo de texto (variable textField). | Además hemos incluido el código referente para mostrar un saludo en el campo de texto (variable textField). | ||
| - | Si nos fijamos, la variable btnSaludar, está subrayada en rojo, debido a que hay un error. | + | Si nos fijamos, la variable |
| Esto se debe a que la variable btnSaludar, no está creada (no existe) dentro del método iniciarManejadoresEventos(). | Esto se debe a que la variable btnSaludar, no está creada (no existe) dentro del método iniciarManejadoresEventos(). | ||
| - | Dicha variable se ha creado en el método iniciarComponentes(), | + | Dicha variable se ha creado en el método iniciarComponentes(), |
| En el siguiente punto vamos a tratar el ámbito de las variables de una ventana. | En el siguiente punto vamos a tratar el ámbito de las variables de una ventana. | ||
| Línea 73: | Línea 73: | ||
| ==== Ámbito de las variables de componentes ==== | ==== Ámbito de las variables de componentes ==== | ||
| {{ : | {{ : | ||
| - | Debido a la organización de nuestro código en métodos, debemos tener en cuenta que las variables que creamos en un método | + | Debido a la organización de nuestro código en métodos, debemos tener en cuenta que muchas |
| - | Desde la vista “Design” de WindowBuilder tenemos una sección para las propiedades de cualquier elemento gráfico: | + | Desde la vista "Design" |
| - | Dentro de ella **podemos cambiar el nombre de la variable (elemento) que queramos y modificar sus propiedades**. Pero hay un botón muy importante que debemos saber manejar. | + | Dentro de ella **podemos cambiar el nombre de la variable (elemento |
| {{: | {{: | ||
| Línea 83: | Línea 83: | ||
| Al pulsar este botón hacemos que una variable pase de ser variable local (solo existe en el método en el que se crea) a ser atributo de la clase (los atributos de la clase se definen al comienzo de la clase y son accesibles por todos los métodos). | Al pulsar este botón hacemos que una variable pase de ser variable local (solo existe en el método en el que se crea) a ser atributo de la clase (los atributos de la clase se definen al comienzo de la clase y son accesibles por todos los métodos). | ||
| - | {{: | + | {{: |
| Cuando una variable es local, solo existe en el método en el que se crea, por defecto en el método iniciarComponentes(): | Cuando una variable es local, solo existe en el método en el que se crea, por defecto en el método iniciarComponentes(): | ||
| Si nos fijamos la variable está declarada e inicializada (construida) en la misma línea. | Si nos fijamos la variable está declarada e inicializada (construida) en la misma línea. | ||
| - | {{: | + | {{: |
| Cuando una variable es atributo de la clase está declarada al comienzo de la clase, y en el método **iniciarComponentes()**, | Cuando una variable es atributo de la clase está declarada al comienzo de la clase, y en el método **iniciarComponentes()**, | ||
| Línea 95: | Línea 95: | ||
| {{: | {{: | ||
| - | Si nos fijamos en el método iniciarManejadoresEventos(), | + | Si nos fijamos en el método iniciarManejadoresEventos(), |
| - | **Se ha de tener en cuenta que, cualquier elemento con el que queramos | + | **Se ha de tener en cuenta que, cualquier elemento con el que queramos |
| {{ vimeo> | {{ vimeo> | ||
| ===== Asociar nuestra ventana con nuestra aplicación ===== | ===== Asociar nuestra ventana con nuestra aplicación ===== | ||
| - | Como hemos ido programando hasta ahora, hemos trabajado unicamente con la consola para la entrada de datos usando dos flujos: | + | Como hemos ido programando hasta ahora, hemos trabajado unicamente con la consola para la entrada/ |
| - | - Entrada estándar: '' | + | - Entrada estándar: '' |
| - | - Salida estándar: '' | + | - Salida estándar: '' |
| Esos flujos ya no serán usados ya que ahora nos comunicaremos con el usuario a través de la interfaz gráfica '' | Esos flujos ya no serán usados ya que ahora nos comunicaremos con el usuario a través de la interfaz gráfica '' | ||
| - | __La forma más fácil de asociar mi ventana con mi programa es crear una instancia de mi programa en mi clase Ventana__: | + | __La forma más fácil de asociar mi ventana con mi programa es crear una instancia de mi programa en mi clase Ventana__. |
| **Ejemplo**: | **Ejemplo**: | ||
| Línea 114: | Línea 114: | ||
| public class Ventana extends JFrame{ | public class Ventana extends JFrame{ | ||
| - | // | + | // |
| | | ||
| | | ||
| Línea 120: | Línea 120: | ||
| | | ||
| - | //Instancia de mi aplicacion | + | //Referencia a mi aplicacion |
| | | ||
| Línea 128: | Línea 128: | ||
| initEventHandlers(); | initEventHandlers(); | ||
| | | ||
| - | //Creo mi instancia | + | //Instancio la referencia a mi aplicación |
| gestor = new GestorEmpleados(); | gestor = new GestorEmpleados(); | ||
| } | } | ||
| /* | /* | ||
| - | Códigos generado por cada manejador de eventos | + | Método que incluye |
| */ | */ | ||
| | | ||
bloque4/organizargui.1525945526.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)
