Primera aplicación de JavaFX
Creación de una aplicación básica de JavaFX
Configuración del proyecto
## Create project directory
mkdir labex-javafx-demo
cd labex-javafx-demo
## Initialize Maven project
mvn archetype:generate \
-DgroupId=com.labex \
-DartifactId=javafx-demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
Estructura de la aplicación
graph TD
A[Project Root] --> B[src/main/java]
B --> C[Main Application Class]
B --> D[Controller Classes]
A --> E[pom.xml]
Ejemplo completo de una aplicación de JavaFX
Clase principal de la aplicación
package com.labex;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXDemoApp extends Application {
@Override
public void start(Stage primaryStage) {
// Create UI Components
Button clickButton = new Button("Click Me!");
VBox root = new VBox(10);
root.getChildren().add(clickButton);
// Configure Button Action
clickButton.setOnAction(event -> {
System.out.println("Button Clicked in LabEx JavaFX Demo!");
});
// Create and Configure Scene
Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("LabEx JavaFX Demo");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Tipos de componentes de interfaz de usuario (UI)
Componente |
Descripción |
Caso de uso |
Button |
Elemento interactivo que se puede hacer clic |
Desencadenar acciones |
Label |
Mostrar texto |
Mostrar información |
TextField |
Entrada de texto por parte del usuario |
Recopilar datos del usuario |
CheckBox |
Selección binaria |
Opciones múltiples |
ComboBox |
Selección desplegable |
Seleccionar de una lista |
Manejo de eventos
Tipos de eventos
graph LR
A[JavaFX Events] --> B[Mouse Events]
A --> C[Keyboard Events]
A --> D[Window Events]
A --> E[Action Events]
Manejo de eventos avanzado
// Lambda Expression Event Handling
button.setOnMouseClicked(event -> {
switch(event.getButton()) {
case PRIMARY:
System.out.println("Left Click");
break;
case SECONDARY:
System.out.println("Right Click");
break;
}
});
Estilización de aplicaciones de JavaFX
CSS en línea
button.setStyle(
"-fx-background-color: #3498db;" +
"-fx-text-fill: white;" +
"-fx-font-size: 14px;"
);
Configuración de dependencias de Maven
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.2</version>
</dependency>
</dependencies>
Ejecución de la aplicación
## Compile the project
mvn clean compile
## Run JavaFX application
mvn javafx:run
Mejores prácticas
- Separar la interfaz de usuario (UI) y la lógica
- Utilizar FXML para diseños complejos
- Implementar un manejo adecuado de eventos
- Utilizar CSS para la estilización
- Seguir los métodos del ciclo de vida de JavaFX
Siguiendo estos pasos, puedes crear tu primera aplicación interactiva de JavaFX en el entorno de desarrollo de LabEx.