package views; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.BorderPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; import models.Pilot; import models.Pilots; import utils.XMLHelper; import java.util.List; public class PilotView { private Stage stage; public PilotView(Stage stage) { this.stage = stage; } public void displayPilotDetails(Pilot pilot) { Label nameLabel = new Label("Name: " + pilot.getName()); Label adresseLabel = new Label("Adresse: " + pilot.getAdresse()); Label kontaktLabel = new Label("Kontaktinformationen: " + pilot.getKontaktinformationen()); Label lizenzenLabel = new Label("Lizenzen: " + String.join(", ", pilot.getLizenzen())); Label zertifikateLabel = new Label("Zertifikate: " + String.join(", ", pilot.getZertifikate())); VBox vbox = new VBox(10, nameLabel, adresseLabel, kontaktLabel, lizenzenLabel, zertifikateLabel); vbox.setAlignment(Pos.CENTER); vbox.setPadding(new Insets(20)); vbox.setStyle("-fx-background-color: #FFFFFF;"); Button backButton = new Button("Zurück"); backButton.setOnAction(e -> new HomeScreen(stage).display()); BorderPane borderPane = new BorderPane(); borderPane.setTop(backButton); borderPane.setCenter(vbox); BorderPane.setAlignment(backButton, Pos.TOP_LEFT); BorderPane.setMargin(backButton, new Insets(10)); Scene scene = new Scene(borderPane, 400, 300); stage.setScene(scene); stage.setTitle("Pilot Details"); stage.show(); } public void displayAllPilots() { Pilots pilotsData = (Pilots) XMLHelper.loadFromXML("pilots.xml"); List pilots = pilotsData != null ? pilotsData.getPilots() : List.of(); VBox vbox = new VBox(10); vbox.setAlignment(Pos.CENTER); vbox.setPadding(new Insets(20)); vbox.setStyle("-fx-background-color: #FFFFFF;"); for (Pilot pilot : pilots) { Label nameLabel = new Label("Name: " + pilot.getName()); vbox.getChildren().add(nameLabel); Button detailButton = new Button("Details anzeigen"); detailButton.setOnAction(e -> displayPilotDetails(pilot)); vbox.getChildren().add(detailButton); } Button backButton = new Button("Zurück"); backButton.setOnAction(e -> new HomeScreen(stage).display()); BorderPane borderPane = new BorderPane(); borderPane.setTop(backButton); borderPane.setCenter(vbox); BorderPane.setAlignment(backButton, Pos.TOP_LEFT); BorderPane.setMargin(backButton, new Insets(10)); Scene scene = new Scene(borderPane, 400, 300); stage.setScene(scene); stage.setTitle("Alle Piloten"); stage.show(); } }