Tutorial: Implementando Múltiples Ventanas en JavaFX con Eclipse

Introducción

Crear una aplicación que maneje múltiples ventanas es una habilidad esencial para desarrolladores de aplicaciones de escritorio. En este tutorial, aprenderás a implementar una aplicación JavaFX que abre una segunda ventana desde la principal, utilizando Eclipse como IDE. Esta funcionalidad es útil para aplicaciones que requieren interacciones adicionales o separadas, como herramientas administrativas, software de edición, o aplicaciones de gestión de datos.

Configuración del Entorno de Desarrollo

Antes de comenzar a programar, asegúrate de que tienes lo siguiente configurado:

  1. Java Development Kit (JDK): Instala JDK 11 o superior, que ya incluye JavaFX.
  2. Eclipse IDE: Asegúrate de tener Eclipse instalado, idealmente con el plugin e(fx)clipse para facilitar el desarrollo de JavaFX.

Creación del Proyecto JavaFX

  1. Inicio del Proyecto: En Eclipse, crea un nuevo proyecto JavaFX yendo a File > New > JavaFX Project. Sigue los pasos en el asistente para configurar tu proyecto.

Estructura del Código

El proyecto consistirá en dos clases: una para la ventana principal y otra para la ventana secundaria.

Clase Principal
package application;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class MainApplication extends Application {

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Ventana Principal");

        Button openButton = new Button("Abrir Ventana Secundaria");
        openButton.setOnAction(event -> SecondaryWindow.display());

        StackPane root = new StackPane();
        root.getChildren().add(openButton);
        Scene scene = new Scene(root, 350, 200);

        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Clase Secundaria
package application;

import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.geometry.Pos;

public class SecondaryWindow {

    public static void display() {
        Stage secondaryStage = new Stage();
        secondaryStage.initModality(Modality.APPLICATION_MODAL);
        secondaryStage.setTitle("Ventana Secundaria");
        secondaryStage.setMinWidth(250);

        Label message = new Label("Esta es la Ventana Secundaria.");
        Button closeButton = new Button("Cerrar");
        closeButton.setOnAction(e -> secondaryStage.close());

        VBox layout = new VBox(10);
        layout.getChildren().addAll(message, closeButton);
        layout.setAlignment(Pos.CENTER);

        Scene scene = new Scene(layout, 200, 100);
        secondaryStage.setScene(scene);
        secondaryStage.showAndWait();
    }
}

Descripción del Código

  • Clase Principal (MainApplication): Configura una ventana con un botón que, al ser presionado, invoca la ventana secundaria.
  • Clase Secundaria (SecondaryWindow): Define una ventana modal que muestra un mensaje y contiene un botón para cerrar la ventana. Esto asegura que el usuario debe cerrar la ventana secundaria antes de regresar a la ventana principal.

Ejecución y Pruebas

Ejecuta la aplicación desde Eclipse utilizando Run As > Java Application. Verás la ventana principal con un botón. Al hacer clic en este botón, se abrirá la ventana secundaria.

Conclusión

Este tutorial te ha guiado a través del proceso de desarrollo de una aplicación JavaFX que maneja múltiples ventanas, una habilidad crucial para la creación de aplicaciones de escritorio modernas y funcionales. La capacidad de interactuar con múltiples ventanas es fundamental en muchos contextos de software, proporcionando una interacción del usuario más rica y dividida.

gray and black laptop computer
Photo by Pixabay on Pexels.com

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad