Crear una Interfaz de Usuario en JavaFX que Abre un Nuevo Formulario al Pulsar un Botón

Introducción

En este artículo, exploraremos cómo desarrollar una aplicación en JavaFX que no solo maneja la entrada de datos en un formulario, sino que también es capaz de abrir una nueva ventana con otro formulario al hacer clic en un botón. Este tipo de funcionalidad es útil en aplicaciones que requieren múltiples vistas o etapas de entrada de datos.

Preparación del Entorno en Eclipse

Antes de comenzar a codificar, asegúrate de tener configurado correctamente tu entorno de desarrollo:

  1. Instala JDK 11 o superior, ya que JavaFX es parte de este JDK.
  2. Instala Eclipse y asegúrate de que el plugin e(fx)clipse está instalado para facilitar el desarrollo en JavaFX.

Creación de un Proyecto JavaFX

  1. Nuevo Proyecto: En Eclipse, crea un nuevo proyecto seleccionando File > New > Project... y elige JavaFX Project de las opciones disponibles.
  2. Configura el proyecto: Sigue las instrucciones del asistente para configurar tu nuevo proyecto JavaFX.

Implementación del Formulario Principal

Comenzaremos creando la ventana principal que incluirá un botón para abrir una nueva ventana.

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 nuevo formulario");
        openButton.setOnAction(e -> openNewWindow());

        StackPane root = new StackPane();
        root.getChildren().add(openButton);
        Scene scene = new Scene(root, 300, 250);

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

    private void openNewWindow() {
        Stage secondaryStage = new Stage();
        secondaryStage.setTitle("Nuevo Formulario");

        // Configura aquí el nuevo formulario
        Button closeButton = new Button("Cerrar");
        closeButton.setOnAction(e -> secondaryStage.close());

        StackPane secondaryLayout = new StackPane();
        secondaryLayout.getChildren().add(closeButton);
        Scene secondScene = new Scene(secondaryLayout, 230, 100);

        secondaryStage.setScene(secondScene);
        secondaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Explicación del Código

  • Ventana Principal: La clase MainApplication extiende de Application y configura la ventana principal con un botón central que, cuando se presiona, llama al método openNewWindow().
  • Abrir Nueva Ventana: El método openNewWindow() crea un nuevo Stage (ventana) que representa un nuevo formulario. Aquí, añadimos un botón simple para cerrar la ventana. Puedes personalizar esta ventana para incluir más elementos de UI según necesites.

Pruebas y Ejecución

Ejecuta la aplicación desde Eclipse utilizando Run As > Java Application. Al hacer clic en el botón «Abrir nuevo formulario», deberías ver aparecer una nueva ventana con su propio contenido.

Conclusión

Este tutorial te muestra cómo puedes manipular múltiples ventanas en JavaFX, lo cual es esencial para aplicaciones más complejas que requieren diversas interfaces de usuario para diferentes funcionalidades. Este ejemplo puede ser ampliado y adaptado para incluir formularios más complejos y manejo de datos entre ventanas.

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