Introducción
En este tutorial, aprenderemos cómo crear una pantalla de autenticación básica usando JavaFX, una poderosa biblioteca de Java para desarrollar interfaces gráficas de usuario ricas. Este proyecto se realizará en Eclipse, un IDE popular entre los desarrolladores de Java. La pantalla de autenticación permitirá a los usuarios ingresar un nombre de usuario y una contraseña, proporcionando una introducción práctica a la programación de interfaces de usuario en Java.
Configuración Inicial
Antes de empezar a programar, necesitamos preparar nuestro entorno de desarrollo:
- Instalación de Java Development Kit (JDK): Asegúrate de tener instalado JDK 11 o una versión más reciente, ya que JavaFX ahora forma parte del JDK.
- Configuración de Eclipse: Si no tienes Eclipse, descárgalo e instálalo. Es recomendable usar Eclipse IDE for Enterprise Java and Web Developers por su compatibilidad con múltiples lenguajes y herramientas.
- Instalación del plugin e(fx)clipse: Este plugin mejora Eclipse con herramientas específicas para el desarrollo en JavaFX. Instálalo desde el Eclipse Marketplace.
Creación de un Proyecto JavaFX en Eclipse
- Crear un Nuevo Proyecto: Ve a
File > New > JavaFX Project
. Dale un nombre a tu proyecto y sigue los pasos para configurarlo. - Estructura del Proyecto: Eclipse generará una estructura de directorios estándar, incluyendo una clase principal que extiende de
Application
.
Implementación del Formulario de Login
A continuación, vamos a escribir el código para nuestra pantalla de login:
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.geometry.Pos;
import javafx.geometry.Insets;
public class LoginApplication extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Login Interface");
VBox vBox = new VBox(10);
vBox.setAlignment(Pos.CENTER);
vBox.setPadding(new Insets(20));
// Componentes de la UI
Label usernameLabel = new Label("Nombre de Usuario:");
TextField usernameTextField = new TextField();
Label passwordLabel = new Label("Contraseña:");
PasswordField passwordField = new PasswordField();
Button loginButton = new Button("Iniciar sesión");
Label messageLabel = new Label();
// Añadir componentes al VBox
vBox.getChildren().addAll(usernameLabel, usernameTextField, passwordLabel, passwordField, loginButton, messageLabel);
// Manejar el evento de clic del botón
loginButton.setOnAction(event -> {
if (usernameTextField.getText().equals("admin") && passwordField.getText().equals("1234")) {
messageLabel.setText("Inicio de sesión exitoso.");
} else {
messageLabel.setText("Credenciales incorrectas.");
}
});
Scene scene = new Scene(vBox, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Descripción del Código
- VBox: Este es un contenedor vertical que organiza los elementos de la UI en un único eje.
- Componentes de UI: Utilizamos etiquetas para las instrucciones, campos de texto para la entrada de usuario, y un botón para ejecutar la acción de login.
- Eventos: El botón de inicio de sesión verifica si las credenciales introducidas son correctas y muestra un mensaje correspondiente.
Pruebas y Ejecución
Para probar la aplicación, simplemente haz clic derecho sobre el proyecto en Eclipse y selecciona Run As > Java Application
. Verás la interfaz de login y podrás interactuar con ella.
Conclusión
Este tutorial te ha mostrado cómo configurar un entorno de desarrollo en Eclipse, crear un proyecto JavaFX y desarrollar una pantalla de autenticación simple. Este ejemplo básico puede ser extendido con funciones más avanzadas, como la verificación de credenciales contra una base de datos, mejorando así la seguridad y funcionalidad de la aplicación.
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.