From dfdeac8db67edb4977bb39963c17ab419c6dd863 Mon Sep 17 00:00:00 2001 From: Harry Linrui XU <xulr0820@hotmail.com> Date: Sun, 12 Mar 2023 15:12:00 +0100 Subject: [PATCH] Commented out sections of code relating to expense overview. Connected all fxml files to the same controller --- .../demo/controller/SceneController.java | 140 +++++++++--------- .../java/no/ntnu/idatt1002/demo/view/App.java | 10 +- .../no/ntnu/idatt1002/demo/view/MyApp.java | 11 +- src/main/resources/view/AddExpense.fxml | 2 +- src/main/resources/view/Expenses.fxml | 14 +- 5 files changed, 87 insertions(+), 90 deletions(-) diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java index a8ebe075..4c3abfd3 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/SceneController.java @@ -22,73 +22,73 @@ import javafx.stage.Stage; import no.ntnu.idatt1002.demo.data.Expense; import no.ntnu.idatt1002.demo.data.ExpenseCategory; -public class SceneController implements Initializable { - - private Stage stage; - private Scene scene; - private Parent root; - - @FXML - private Button add; - - @FXML - private ComboBox<?> show; - - @FXML - private TableColumn<Expense, Double> amount; - - @FXML - private TableColumn<Expense, ExpenseCategory> category; - - @FXML - private TableColumn<Expense, String> date; - - @FXML - private TableColumn<Expense, String> description; - - @FXML - private TableView<Expense> expenseTableView; - - ObservableList<Expense> expenses = FXCollections.observableArrayList( - new Expense("", 1000.00, true, ExpenseCategory.FOOD, "1/1/23") - ); - @Override - public void initialize(URL url, ResourceBundle resourceBundle) { - amount.setCellValueFactory(new PropertyValueFactory<Expense, Double>("amount")); - category.setCellValueFactory(new PropertyValueFactory<Expense, ExpenseCategory>("category")); - date.setCellValueFactory(new PropertyValueFactory<Expense, String>("date")); - description.setCellValueFactory(new PropertyValueFactory<Expense, String>("description")); - - expenseTableView.setItems(expenses); - } - - public void switchStartMenu(ActionEvent event) throws IOException { - FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml")); - root = loader.load(); - stage = (Stage)((Node)event.getSource()).getScene().getWindow(); - scene = new Scene(root); - stage.setScene(scene); - stage.show(); - } - public void switchNewBudget(ActionEvent event) throws IOException { - FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/NewBudget.fxml")); - Parent root = loader.load(); - stage = (Stage)((Node)event.getSource()).getScene().getWindow(); - scene = new Scene(root); - stage.setScene(scene); - stage.show(); - } - - public void switchExpenses(ActionEvent event) throws IOException { - FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Expenses.fxml")); - Parent root = loader.load(); - stage = (Stage)((Node)event.getSource()).getScene().getWindow(); - scene = new Scene(root); - stage.setScene(scene); - stage.show(); - } - - public void addExpense(ActionEvent event) throws IOException { - - } -} \ No newline at end of file +public class SceneController /*implements Initializable*/ { + + private Stage stage; + private Scene scene; + private Parent root; + + /*@FXML + private Button add; + + @FXML + private ComboBox<?> show; + + @FXML + private TableColumn<Expense, Double> amount; + + @FXML + private TableColumn<Expense, ExpenseCategory> category; + + @FXML + private TableColumn<Expense, String> date; + + @FXML + private TableColumn<Expense, String> description; + + @FXML + private TableView<Expense> expenseTableView; + + ObservableList<Expense> expenses = FXCollections.observableArrayList( + new Expense("", 1000.00, true, ExpenseCategory.FOOD, "1/1/23") + ); + @Override + public void initialize(URL url, ResourceBundle resourceBundle) { + amount.setCellValueFactory(new PropertyValueFactory<Expense, Double>("amount")); + category.setCellValueFactory(new PropertyValueFactory<Expense, ExpenseCategory>("category")); + date.setCellValueFactory(new PropertyValueFactory<Expense, String>("date")); + description.setCellValueFactory(new PropertyValueFactory<Expense, String>("description")); + + expenseTableView.setItems(expenses); + }*/ + + public void switchStartMenu(ActionEvent event) throws IOException { + FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml")); + root = loader.load(); + stage = (Stage)((Node)event.getSource()).getScene().getWindow(); + scene = new Scene(root); + stage.setScene(scene); + stage.show(); + } + public void switchNewBudget(ActionEvent event) throws IOException { + FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/NewBudget.fxml")); + Parent root = loader.load(); + stage = (Stage)((Node)event.getSource()).getScene().getWindow(); + scene = new Scene(root); + stage.setScene(scene); + stage.show(); + } + + public void switchExpenses(ActionEvent event) throws IOException { + FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Expenses.fxml")); + Parent root = loader.load(); + stage = (Stage)((Node)event.getSource()).getScene().getWindow(); + scene = new Scene(root); + stage.setScene(scene); + stage.show(); + } + + public void addExpense(ActionEvent event) throws IOException { + + } +} diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/App.java b/src/main/java/no/ntnu/idatt1002/demo/view/App.java index d0125bcf..91586aac 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/view/App.java +++ b/src/main/java/no/ntnu/idatt1002/demo/view/App.java @@ -1,9 +1,7 @@ package no.ntnu.idatt1002.demo.view; public class App { - - public static void main(String[] args) { - MyApp.main(args); - } -} - + public static void main(String[] args) { + MyApp.main(args); + } +} \ No newline at end of file diff --git a/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java index bd5d1275..171e4e68 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java +++ b/src/main/java/no/ntnu/idatt1002/demo/view/MyApp.java @@ -12,12 +12,13 @@ public class MyApp extends Application { @Override public void start(Stage stage) throws IOException { - FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml")); - Parent root = loader.load(); - Scene scene = new Scene(root); - stage.setScene(scene); - stage.show(); + FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/FirstMenu.fxml")); + Parent root = loader.load(); + Scene scene = new Scene(root); + stage.setScene(scene); + stage.show(); } + public static void main(String[] args) { launch(args); } diff --git a/src/main/resources/view/AddExpense.fxml b/src/main/resources/view/AddExpense.fxml index 77873c49..6a20d213 100644 --- a/src/main/resources/view/AddExpense.fxml +++ b/src/main/resources/view/AddExpense.fxml @@ -10,7 +10,7 @@ <?import javafx.scene.layout.GridPane?> <?import javafx.scene.layout.RowConstraints?> -<DialogPane prefWidth="480.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1"> +<DialogPane prefWidth="480.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.SceneController"> <content> <GridPane hgap="10.0" vgap="10.0"> <columnConstraints> diff --git a/src/main/resources/view/Expenses.fxml b/src/main/resources/view/Expenses.fxml index d809f773..6089a614 100644 --- a/src/main/resources/view/Expenses.fxml +++ b/src/main/resources/view/Expenses.fxml @@ -33,7 +33,7 @@ <top> <HBox BorderPane.alignment="CENTER"> <children> - <Button mnemonicParsing="false" onAction="#switchStartMenu" text="Return "> + <Button mnemonicParsing="false" text="Return "> <opaqueInsets> <Insets left="100.0" /> </opaqueInsets> @@ -71,13 +71,11 @@ <RowConstraints maxHeight="298.66665744781494" minHeight="10.0" prefHeight="29.999959309895814" vgrow="SOMETIMES" /> </rowConstraints> <children> - <HBox alignment="BOTTOM_LEFT" prefWidth="410.0"> + <HBox alignment="BOTTOM_LEFT" prefWidth="410.0" spacing="5.0"> <children> - <Button alignment="TOP_CENTER" mnemonicParsing="false" prefHeight="26.0" prefWidth="189.0" text="Add expense" textAlignment="CENTER"> - <font> - <Font size="14.0" /> - </font> - </Button> + <Button fx:id="add" alignment="TOP_CENTER" mnemonicParsing="false" text="Add" textAlignment="CENTER" /> + <Button fx:id="add1" alignment="TOP_CENTER" mnemonicParsing="false" text="Edit" textAlignment="CENTER" /> + <Button fx:id="add11" alignment="TOP_CENTER" mnemonicParsing="false" text="Delete" textAlignment="CENTER" /> </children> <opaqueInsets> <Insets /> @@ -88,7 +86,7 @@ </HBox> <VBox alignment="BOTTOM_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="5.0" GridPane.columnIndex="1"> <children> - <ComboBox prefWidth="150.0" promptText="Show"> + <ComboBox fx:id="show" prefWidth="150.0" promptText="Show"> <opaqueInsets> <Insets /> </opaqueInsets> -- GitLab