84 lines
2.9 KiB
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();
|
|
}
|
|
}
|