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:
- Instala JDK 11 o superior, ya que JavaFX es parte de este JDK.
- 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
- Nuevo Proyecto: En Eclipse, crea un nuevo proyecto seleccionando
File > New > Project...
y eligeJavaFX Project
de las opciones disponibles. - 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 deApplication
y configura la ventana principal con un botón central que, cuando se presiona, llama al métodoopenNewWindow()
. - Abrir Nueva Ventana: El método
openNewWindow()
crea un nuevoStage
(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.