From 6a93cbf29cd83db6c4f0216e2190ae377e48bba4 Mon Sep 17 00:00:00 2001 From: Harry Linrui XU <xulr0820@hotmail.com> Date: Tue, 21 Mar 2023 16:46:10 +0100 Subject: [PATCH] Added method that binds the textfields with an incoming expense --- .../demo/controller/AddExpenseController.java | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java index 97abaa35..13445f97 100644 --- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java +++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java @@ -1,7 +1,12 @@ package no.ntnu.idatt1002.demo.controller; import java.io.IOException; +import java.text.NumberFormat; import java.util.Optional; +import javafx.beans.property.DoubleProperty; +import javafx.beans.property.SimpleDoubleProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; @@ -64,15 +69,27 @@ public class AddExpenseController { return recurringBox.getValue().equals("Yes"); } + public void setExpense(Expense expense) { + this.newExpense = expense; + StringProperty dateProperty = new SimpleStringProperty(expense.getDate()); + DoubleProperty amountProperty = new SimpleDoubleProperty(expense.getAmount()); + StringProperty descriptionProperty = new SimpleStringProperty(expense.getDescription()); + + dateField.textProperty().bindBidirectional(dateProperty); + amountField.textProperty().bindBidirectional(amountProperty, NumberFormat.getNumberInstance()); + descriptionField.textProperty().bindBidirectional(descriptionProperty); + } public void pressOkBtn(ActionEvent event) { - String date = dateField.getText(); - double amount = Double.parseDouble(amountField.getText()); - String description = descriptionField.getText(); - ExpenseCategory category = getCategory(); - boolean recurring = isRecurring(); - - newExpense = new Expense(description, amount, recurring, category, date); - System.out.println(date + " " + amount + " " + description + " " + category + " " + recurring); + if (this.newExpense.getAmount() == 1.1) { + String date = dateField.getText(); + double amount = Double.parseDouble(amountField.getText()); + String description = descriptionField.getText(); + ExpenseCategory category = getCategory(); + boolean recurring = isRecurring(); + + newExpense = new Expense(description, amount, recurring, category, date); + System.out.println(date + " " + amount + " " + description + " " + category + " " + recurring); + } final Node source = (Node) event.getSource(); ((Stage) source.getScene().getWindow()).close(); -- GitLab