Erste JavaFX-Anwendung
Erstellen einer einfachen JavaFX-Anwendung
Projektaufbau
## 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
Anwendungsstruktur
graph TD
A[Project Root] --> B[src/main/java]
B --> C[Main Application Class]
B --> D[Controller Classes]
A --> E[pom.xml]
Vollständiges Beispiel einer JavaFX-Anwendung
Hauptanwendungs-Klasse
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);
}
}
UI-Komponententypen
Komponente |
Beschreibung |
Anwendungsfall |
Button |
Interaktives anklickbares Element |
Auslösen von Aktionen |
Label |
Anzeige von Text |
Anzeigen von Informationen |
TextField |
Benutzertext-Eingabe |
Sammeln von Benutzerdaten |
CheckBox |
Binäre Auswahl |
Mehrere Optionen |
ComboBox |
Dropdown-Auswahl |
Auswahl aus einer Liste |
Ereignisbehandlung
Ereignistypen
graph LR
A[JavaFX Events] --> B[Mouse Events]
A --> C[Keyboard Events]
A --> D[Window Events]
A --> E[Action Events]
Erweiterte Ereignisbehandlung
// 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;
}
});
Styling von JavaFX-Anwendungen
Inline-CSS
button.setStyle(
"-fx-background-color: #3498db;" +
"-fx-text-fill: white;" +
"-fx-font-size: 14px;"
);
Maven-Abhängigkeitskonfiguration
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.2</version>
</dependency>
</dependencies>
Ausführen der Anwendung
## Compile the project
mvn clean compile
## Run JavaFX application
mvn javafx:run
Best Practices
- Trennen Sie die UI und die Logik.
- Verwenden Sie FXML für komplexe Layouts.
- Implementieren Sie eine geeignete Ereignisbehandlung.
- Verwenden Sie CSS für das Styling.
- Befolgen Sie die JavaFX-Lebenszyklusmethoden.
Indem Sie diese Schritte befolgen, können Sie Ihre erste interaktive JavaFX-Anwendung in der LabEx-Entwicklungsumgebung erstellen.