Introducción
En este tutorial, te mostraré cómo desarrollar una interfaz de inicio de sesión utilizando JavaFX, el framework para construir interfaces de usuario en Java. Este ejemplo proporcionará una base sólida para entender cómo manejar entradas de usuario y eventos en una aplicación JavaFX. Usaremos Eclipse como nuestro entorno de desarrollo para compilar y ejecutar el código.
Configuración del Entorno
Antes de comenzar a escribir código, necesitamos preparar nuestro entorno de desarrollo:
- Instalar JDK: Asegúrate de que el Java Development Kit (JDK) 11 o superior esté instalado en tu computadora.
- Configurar Eclipse: Si aún no tienes Eclipse, descárgalo e instálalo. Eclipse es un IDE popular para el desarrollo de Java y otros lenguajes.
- Instalar e(fx)clipse: Desde Eclipse, instala el plugin e(fx)clipse a través del Eclipse Marketplace para facilitar el desarrollo en JavaFX.
Creación de un Proyecto JavaFX
Sigue estos pasos en Eclipse para comenzar tu proyecto:
- Nuevo Proyecto JavaFX: Ve a
File > New > Other...
, seleccionaJavaFX Project
de la lista y completa el asistente de configuración. - Estructura del Proyecto: Eclipse creará una estructura de proyecto que incluye una clase principal que extiende de
Application
.
Implementación de la Pantalla de Inicio de Sesión
Vamos a diseñar la interfaz de usuario y la lógica para nuestra pantalla de inicio de sesión:
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
public class LoginApplication extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Login - Mi Aplicación");
VBox vBox = new VBox(10);
vBox.setAlignment(Pos.CENTER);
vBox.setPadding(new Insets(20, 50, 20, 50));
// Creación de los componentes de la UI
Label usernameLabel = new Label("Usuario:");
TextField usernameTextField = new TextField();
Label passwordLabel = new Label("Contraseña:");
PasswordField passwordField = new PasswordField();
Button loginButton = new Button("Iniciar sesión");
Label loginMessage = new Label();
// Agregando componentes al VBox
vBox.getChildren().addAll(usernameLabel, usernameTextField, passwordLabel, passwordField, loginButton, loginMessage);
// Manejo de eventos para el botón de inicio de sesión
loginButton.setOnAction(e -> {
if (usernameTextField.getText().equals("usuario") && passwordField.getText().equals("secreto")) {
loginMessage.setText("Acceso concedido.");
} else {
loginMessage.setText("Acceso denegado. Verifica tus credenciales.");
}
});
Scene scene = new Scene(vBox, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Descripción del Código
- VBox: Utilizamos un
VBox
para organizar los elementos de la UI verticalmente y centrarlos en la pantalla. - Componentes UI: Incluyen etiquetas, un campo de texto para el usuario, un campo de contraseña, un botón para iniciar sesión y una etiqueta para mensajes.
- Manejo de Eventos: El botón de inicio de sesión verifica las credenciales ingresadas y muestra un mensaje apropiado según sea el caso.
Ejecución del Proyecto
Para probar tu pantalla de inicio de sesión, haz clic derecho en tu proyecto en Eclipse, selecciona Run As > Java Application
. Deberías ser capaz de ver la interfaz de usuario y probar la funcionalidad de inicio de sesión.
Conclusión
Este tutorial te ha guiado a través de la creación de una interfaz de inicio de sesión en JavaFX utilizando Eclipse. Este ejemplo básico puede ser ampliado con funcionalidades más complejas, como la conexión a una base de datos para verificar las credenciales de usuario.
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.