COMPARTE ESTE ARTÍCULO

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:

  1. Abre el archivo FXML en un editor de texto o en tu IDE.
  2. 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 y onAction 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:

  1. Crea un nuevo archivo FXML para cada escena (por ejemplo, Scene1.fxml y Scene2.fxml).
  2. 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:

  1. Que todos los componentes definidos en el FXML tienen un fx:id único.
  2. Que los métodos onAction están correctamente implementados en el controlador.
  3. 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:

  1. Configurar el fx:controller en el FXML.
  2. Declarar y vincular los componentes del FXML al controlador.
  3. Implementar los métodos para manejar eventos.
  4. Asegurarte de que fx:id y onAction no compartan el mismo nombre.
  5. 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

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO