Una vez que has diseñado la interfaz gráfica de usuario (GUI) en Scene Builder, es hora de darle funcionalidad mediante código. Aquí te explico paso a paso qué hacer después de completar el diseño en Scene Builder, desde la configuración del controlador (fx:controller
), la conexión de botones, hasta el manejo de múltiples escenas.
1. Configurar el fx:controller
en el Archivo FXML
El archivo FXML debe estar vinculado a un controlador Java que gestionará la lógica de la aplicación. Para hacerlo:
- Abre el archivo FXML en un editor de texto o en tu IDE.
- Agrega el atributo
fx:controller
en la raíz del archivo, apuntando a la clase del controlador Java. Por ejemplo:
<VBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.mycompany.myapp.MyController">
Asegúrate de que el paquete y la clase (com.mycompany.myapp.MyController
) coincidan con el lugar donde está definido tu controlador.
2. Declarar los Componentes en el Controlador
En el archivo .java
del controlador, necesitas declarar los componentes que deseas manipular. Por ejemplo, si tienes botones o campos de texto en tu FXML:
FXML
<Button fx:id="myButton" onAction="#handleButtonClick" text="Click me!" />
<TextField fx:id="myTextField" promptText="Escribe algo aquí" />
Controlador Java
En la clase del controlador:
package com.mycompany.myapp;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
public class MyController {
@FXML
private Button myButton;
@FXML
private TextField myTextField;
@FXML
private void handleButtonClick() {
System.out.println("Botón presionado. Texto ingresado: " + myTextField.getText());
}
}
Importante
- El atributo
fx:id
en el FXML debe coincidir con el nombre del componente en el controlador. - El método definido en
onAction
debe estar presente en el controlador con la anotación@FXML
.
3. Manejo de Eventos para los Botones
Configurar la acción en Scene Builder
- En Scene Builder, selecciona el botón en la GUI.
- En el panel de propiedades, bajo la sección “Code”:
- Escribe un nombre en el campo
fx:id
(por ejemplo:myButton
). - En el campo
On Action
, especifica el método que manejará el evento (por ejemplo:handleButtonClick
).
Implementar el Método en el Controlador
- Define el método en el controlador:
@FXML
private void handleButtonClick() {
System.out.println("Botón presionado.");
}
Reglas Importantes
- Los valores de
fx:id
yonAction
no deben ser iguales. Ejemplo correcto:
<Button fx:id="myButton" onAction="#handleButtonClick" text="Click me!" />
- Si los nombres son iguales, JavaFX mostrará un error.
4. Cambiar de Escena en Java
Para aplicaciones con múltiples escenas, puedes cambiar entre ellas utilizando el método setScene
.
Pasos para Cambiar de Escena:
- Crea un nuevo archivo FXML para cada escena (por ejemplo,
Scene1.fxml
yScene2.fxml
). - En el controlador, implementa un método que cargue la nueva escena:
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class MyController {
@FXML
private void switchToScene2() throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("Scene2.fxml"));
Parent root = loader.load();
Stage stage = (Stage) myButton.getScene().getWindow();
stage.setScene(new Scene(root));
}
}
XML de Ejemplo
En el archivo FXML de la primera escena, asegúrate de definir el botón y el método asociado:
<Button fx:id="switchButton" onAction="#switchToScene2" text="Ir a la escena 2" />
Con esto, al presionar el botón, la aplicación cargará y mostrará la segunda escena.
5. Verificar la Conexión Correcta
Antes de ejecutar la aplicación, asegúrate de:
- Que todos los componentes definidos en el FXML tienen un
fx:id
único. - Que los métodos
onAction
están correctamente implementados en el controlador. - Que el controlador está vinculado al archivo FXML mediante
fx:controller
.
Conclusión
Después de crear una GUI en Scene Builder, los pasos clave son:
- Configurar el
fx:controller
en el FXML. - Declarar y vincular los componentes del FXML al controlador.
- Implementar los métodos para manejar eventos.
- Asegurarte de que
fx:id
yonAction
no compartan el mismo nombre. - Implementar la lógica para cambiar entre escenas usando Java.
Estos pasos no solo harán que tu aplicación sea funcional, sino que también mantendrán el código organizado y libre de errores comunes. Con esta guía, estarás listo para llevar tu aplicación JavaFX al siguiente nivel. ¡Buena suerte!
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.
NUESTRAS ÚLTIMAS PUBLICACIONES
- La importancia de mantener un ritmo de estudio durante las navidades.
- Cómo Multiplicar Matrices en Java: Guía Completa con Ejemplo Práctico
- Triunfos y logros de nuestra Academia SanRoque
- Herramientas Imprescindibles para Realizar Ingeniería Inversa en Java
- ¿A qué nivel de conversación en inglés estás dispuesto a llegar con Academia SanRoque?
- Cómo Resolver una Ecuación de Segundo Grado con GNU Octave
- Cuando vienes a la Academia SaRoque justo antes del examen final.
- 25N Día Internacional para la Eliminación de la Violencia contra la Mujer
- Cuando el profesor nos da la última oportunidad.
ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido
Comments are closed