From ca6e791e32f1982288f3128b07a0571f8abac3e4 Mon Sep 17 00:00:00 2001
From: yschl <ys037@hdm-stuttgart.de>
Date: Fri, 8 Dec 2023 21:13:25 +0100
Subject: [PATCH] Adding of PieCharts in StatisticsController

---
 .../Controller/StatisticsController.java      | 45 ++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java
index 18d847ac..f591bfa1 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java
@@ -1,11 +1,18 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
+import javafx.beans.binding.Bindings;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
 import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
 import javafx.scene.chart.PieChart;
 import javafx.scene.layout.VBox;
 import javafx.scene.text.Text;
 
-public class StatisticsController {
+import java.net.URL;
+import java.util.ResourceBundle;
+
+public class StatisticsController implements Initializable {
 
     @FXML public Text blocks, deaths, gameTime, gamesLost, gamesWon, kills;
     @FXML public VBox parent;
@@ -16,5 +23,41 @@ public class StatisticsController {
         parent.getChildren().clear();
         parent.getChildren().add(sceneLoader.loadScene("MainMenu"));
     }
+
+    public void initialize(URL url, ResourceBundle resourceBundle){
+        iniPieChartkd();
+        iniPieChartwl();
+    }
+
+    public void iniPieChartkd() {
+        ObservableList<PieChart.Data> pieChartData =
+                FXCollections.observableArrayList(
+                        new PieChart.Data("Kills",20),
+                        new PieChart.Data("Deaths",12));
+
+                        pieChartData.forEach(data ->
+                                data.nameProperty().bind(
+                                        Bindings.concat(
+                                                data.getName(),": ", data.pieValueProperty()
+                                        )
+                                )
+                        );
+                        kd.getData().addAll(pieChartData);
+    }
+    public void iniPieChartwl() {
+        ObservableList<PieChart.Data> pieChartData =
+                FXCollections.observableArrayList(
+                        new PieChart.Data("Wins",3),
+                        new PieChart.Data("Losses",5));
+
+        pieChartData.forEach(data ->
+                data.nameProperty().bind(
+                        Bindings.concat(
+                                data.getName(),": ", data.pieValueProperty()
+                        )
+                )
+        );
+        wl.getData().addAll(pieChartData);
+    }
 }
 
-- 
GitLab