From 418b2e057c6bc48caf49993239684b2e4b6e81f1 Mon Sep 17 00:00:00 2001 From: Robin Cheney Date: Thu, 20 Nov 2025 19:05:09 +0100 Subject: [PATCH] controller is null bug fixed --- .../controllers/FuelStationUIController.java | 52 +++++++++++-------- .../controllers/OverviewTabController.java | 2 - src/main/resources/ui/FuelStationUI.fxml | 2 +- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/main/java/de/diejungsvondertanke/tankstelle/controllers/FuelStationUIController.java b/src/main/java/de/diejungsvondertanke/tankstelle/controllers/FuelStationUIController.java index 78f17b0..81cf644 100644 --- a/src/main/java/de/diejungsvondertanke/tankstelle/controllers/FuelStationUIController.java +++ b/src/main/java/de/diejungsvondertanke/tankstelle/controllers/FuelStationUIController.java @@ -81,34 +81,40 @@ public class FuelStationUIController { public void initialize() { // Load all tabs manually and keep controllers comboFuelTypes.getItems().setAll(FuelType.values()); - // loadTab("/ui/ResultTab.fxml", resultTabContainer, - // (ResultTabController controller) -> resultTabController = controller); - // loadTab("/ui/PriceTab.fxml", priceTabContainer, - // (PriceTabController controller) -> priceTabController = controller); - // loadTab("/ui/StockTab.fxml", stockTabContainer, - // (StockTabController controller) -> stockTabController = controller); - // loadTab("/ui/SearchTab.fxml", searchTabContainer, - // (SearchTabController controller) -> searchTabController = controller); - // loadTab("/ui/NewStationTab.fxml", newStationTabContainer, - // (NewStationTabController controller) -> newStationTabController = - // controller); - // loadTab("/ui/OverviewTab.fxml", overviewTabContainer, - // (OverviewTabController controller) -> overviewTabController = controller); - try { - loadTab("/ui/ResultTab.fxml", resultTabContainer, (ResultTabController c) -> resultTabController = c); - loadTab("/ui/PriceTab.fxml", priceTabContainer, (PriceTabController c) -> priceTabController = c); - loadTab("/ui/StockTab.fxml", stockTabContainer, (StockTabController c) -> stockTabController = c); - loadTab("/ui/SearchTab.fxml", searchTabContainer, (SearchTabController c) -> searchTabController = c); + + loadTab("/ui/ResultTab.fxml", resultTabContainer, (ResultTabController c) -> { + resultTabController = c; + resultTabController.setParentController(this); + }); + loadTab("/ui/PriceTab.fxml", priceTabContainer, (PriceTabController c) -> { + priceTabController = c; + priceTabController.setParentController(this); + }); + loadTab("/ui/StockTab.fxml", stockTabContainer, (StockTabController c) -> { + stockTabController = c; + stockTabController.setParentController(this); + }); + loadTab("/ui/SearchTab.fxml", searchTabContainer, (SearchTabController c) -> { + searchTabController = c; + searchTabController.setParentController(this); + }); loadTab("/ui/NewStationTab.fxml", newStationTabContainer, - (NewStationTabController c) -> newStationTabController = c); + (NewStationTabController c) -> { + newStationTabController = c; + newStationTabController.setParentController(this); + }); loadTab("/ui/OverviewTab.fxml", overviewTabContainer, - (OverviewTabController c) -> overviewTabController = c); - } catch (IOException e) { - // TODO Auto-generated catch block + (OverviewTabController c) -> { + overviewTabController = c; + overviewTabController.setParentController(this); + overviewTabController.refresh(); + }); + + } catch (Exception e) { e.printStackTrace(); + // TODO: handle exception } - } // Generic loader helper diff --git a/src/main/java/de/diejungsvondertanke/tankstelle/controllers/OverviewTabController.java b/src/main/java/de/diejungsvondertanke/tankstelle/controllers/OverviewTabController.java index 2ce3c46..354f5cf 100644 --- a/src/main/java/de/diejungsvondertanke/tankstelle/controllers/OverviewTabController.java +++ b/src/main/java/de/diejungsvondertanke/tankstelle/controllers/OverviewTabController.java @@ -42,8 +42,6 @@ public class OverviewTabController { colAmount.setCellValueFactory(data -> new SimpleFloatProperty(data.getValue().amount()).asObject()); colCapacity.setCellValueFactory(data -> new SimpleIntegerProperty(data.getValue().capacity()).asObject()); colPrice.setCellValueFactory(data -> new SimpleFloatProperty(data.getValue().price()).asObject()); - - refresh(); } @FXML diff --git a/src/main/resources/ui/FuelStationUI.fxml b/src/main/resources/ui/FuelStationUI.fxml index 1856b65..f06036e 100644 --- a/src/main/resources/ui/FuelStationUI.fxml +++ b/src/main/resources/ui/FuelStationUI.fxml @@ -50,7 +50,7 @@