Pegasus/src/views/PilotView.java

84 lines
2.9 KiB
Java

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<Pilot> 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();
}
}