From 4414328fe09b8998e70d9b4081780087d9475da7 Mon Sep 17 00:00:00 2001 From: Rithvik Sriram Date: Fri, 5 Dec 2025 14:12:05 +0100 Subject: [PATCH] changes from the reviewers implemented, some more error handling implemented with the load function of the show method --- .../main/java/client/utils/Navigation.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/client/src/main/java/client/utils/Navigation.java b/client/src/main/java/client/utils/Navigation.java index 712b5c0..50b4b89 100644 --- a/client/src/main/java/client/utils/Navigation.java +++ b/client/src/main/java/client/utils/Navigation.java @@ -11,8 +11,8 @@ public class Navigation { /** * Constructs a Navigation Object that uses a fxml object and Pane that will allow to switch UI screens - * @param x - * @param y + * @param x - a MyFXML Object + * @param y - a Pane Object */ public Navigation(MyFXML x, Pane y){ this.myFXML = x; @@ -22,14 +22,19 @@ public class Navigation { /** * The show function takes in an FxmlPath and changes the current pane to the value given by the path * using the load function of the myFXML object - * @param fxmlpath + * @param fxmlpath - FXML path provided to show the next pane */ public void show(String fxmlpath){ - var result = myFXML.load(Object.class, fxmlpath); //stores the result of the load method in result - Parent uiRoot = result.getValue(); - screen.getChildren().setAll(uiRoot); - + try{ + var result = myFXML.load(Object.class, fxmlpath); //stores the result of the load method in result + Parent uiRoot = result.getValue(); + screen.getChildren().setAll(uiRoot); + } + catch(Exception e) { //catches any failures thrown by the load method + System.err.println("Failed to load FXML file: " + fxmlpath); + throw new IllegalArgumentException("Cannot load FXML file: " + fxmlpath, e); + } }