From d01217327b7642bb1d43b68940e64c7fc575b359 Mon Sep 17 00:00:00 2001 From: Harry Linrui XU <xulr0820@hotmail.com> Date: Fri, 24 Mar 2023 13:55:53 +0100 Subject: [PATCH] "Use BudgetNew when creating budget" --- .../demo/controller/BudgetController.java | 35 ++++++++++++++++++- .../demo/controller/ExpensesController.java | 2 +- .../demo/controller/IncomeController.java | 2 +- src/main/resources/view/BudgetNew.fxml | 10 +++--- 4 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java index d8f13356..973cce1b 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java @@ -6,6 +6,8 @@ import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Node; +import javafx.scene.Parent; +import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.control.Alert.AlertType; import javafx.scene.control.cell.PropertyValueFactory; @@ -34,6 +36,18 @@ public class BudgetController { @FXML private Button editBudget; + @FXML + private Button expenseBtn; + + @FXML + private Button incomeBtn; + + @FXML + private Button returnBtn; + + @FXML + private Button nextBtn; + @FXML private TableColumn<BudgetItem, Double> amountColumn; @@ -92,7 +106,7 @@ public class BudgetController { dialogTitle = "New Budget"; } - else if (event.getSource().equals(editBudget)) { + else if (event.getSource().equals(editBudget) && budgetTableView.getSelectionModel().getSelectedItem() != null) { dialogMode = DialogMode.EDIT; dialogTitle = "Edit expense"; item = budgetTableView.getSelectionModel().getSelectedItem(); @@ -159,4 +173,23 @@ public class BudgetController { this.budgetList.setAll(general.getBudgetItems()); } + @FXML + public void switchScene(ActionEvent event) throws IOException { + //saveDataToFile("Income"); + FXMLLoader loader = new FXMLLoader(); + if (event.getSource() == expenseBtn) { + loader.setLocation(SceneController.class.getResource("/view/Expenses.fxml")); + } else if (event.getSource() == returnBtn) { + loader.setLocation(SceneController.class.getResource("/view/FirstMenu.fxml")); + } else if (event.getSource() == incomeBtn) { + loader.setLocation(SceneController.class.getResource("/view/Income.fxml")); + } else if (event.getSource() == nextBtn) { + loader.setLocation(SceneController.class.getResource("/view/MainMenu.fxml")); + } + Parent root = loader.load(); + Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); + Scene scene = new Scene(root); + stage.setScene(scene); + stage.show(); + } } diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java index abf22a6b..feb0ab94 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java @@ -219,7 +219,7 @@ public class ExpensesController { } else if (event.getSource() == returnBtn) { loader.setLocation(SceneController.class.getResource("/view/FirstMenu.fxml")); } else if (event.getSource() == budgetBtn) { - loader.setLocation(SceneController.class.getResource("/view/Budget.fxml")); + loader.setLocation(SceneController.class.getResource("/view/BudgetNew.fxml")); } Parent root = loader.load(); Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java index d5ef44d1..1fcb3f6c 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeController.java @@ -209,7 +209,7 @@ public class IncomeController { } else if (event.getSource() == returnBtn) { loader.setLocation(SceneController.class.getResource("/view/FirstMenu.fxml")); } else if (event.getSource() == budgetBtn) { - loader.setLocation(SceneController.class.getResource("/view/Budget.fxml")); + loader.setLocation(SceneController.class.getResource("/view/BudgetNew.fxml")); } Parent root = loader.load(); Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); diff --git a/src/main/resources/view/BudgetNew.fxml b/src/main/resources/view/BudgetNew.fxml index c8ce2d39..a6912ef3 100644 --- a/src/main/resources/view/BudgetNew.fxml +++ b/src/main/resources/view/BudgetNew.fxml @@ -73,7 +73,7 @@ <children> <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0"> <children> - <Button fx:id="addBtn" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#switchAddBudget" text="Add" textAlignment="CENTER"> + <Button fx:id="addBudget" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#switchAddBudget" text="Add" textAlignment="CENTER"> <graphic> <ImageView fitHeight="19.0" fitWidth="16.0" pickOnBounds="true" preserveRatio="true"> <image> @@ -82,7 +82,7 @@ </ImageView> </graphic> </Button> - <Button fx:id="editBtn" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#switchAddBudget" text="Edit" textAlignment="CENTER"> + <Button fx:id="editBudget" alignment="TOP_CENTER" mnemonicParsing="false" onAction="#switchAddBudget" text="Edit" textAlignment="CENTER"> <graphic> <ImageView fitHeight="19.0" fitWidth="16.0" pickOnBounds="true" preserveRatio="true"> <image> @@ -122,10 +122,10 @@ </VBox> <HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="2"> <children> - <Button mnemonicParsing="false" text="Income" /> + <Button fx:id="incomeBtn" mnemonicParsing="false" onAction="#switchScene" text="Income" /> <Button fx:id="budgetBtn" disable="true" mnemonicParsing="false" onAction="#switchScene" text="Budget" /> <Button fx:id="expenseBtn" mnemonicParsing="false" onAction="#switchScene" text="Expenses" /> - <Button mnemonicParsing="false" onAction="#switchScene" text="Next"> + <Button fx:id="nextBtn" mnemonicParsing="false" onAction="#switchScene" text="Next"> <HBox.margin> <Insets left="170.0" /> </HBox.margin> @@ -135,7 +135,7 @@ <Insets top="10.0" /> </padding> </HBox> - <TableView fx:id="incomeTableView" prefHeight="260.0" prefWidth="485.0" GridPane.columnSpan="2" GridPane.rowIndex="1"> + <TableView fx:id="budgetTableView" prefHeight="260.0" prefWidth="485.0" GridPane.columnSpan="2" GridPane.rowIndex="1"> <columns> <TableColumn fx:id="categoryColumn" prefWidth="75.0" text="Category/Title" /> <TableColumn fx:id="percentageColumn" prefWidth="75.0" text="Percentage" /> -- GitLab