Skip to content
Snippets Groups Projects
Commit 367cbacc authored by Harry Linrui XU's avatar Harry Linrui XU
Browse files

Tried to create new controllers

parent e11f7699
No related branches found
No related tags found
10 merge requests!43Merging frontend-testing into master,!38"Made progressbar dynamic in accordance to spending. Added balance field....,!37Made the sub progress bars respond to changes in expense,!32Added input validation to add dialog boxes.,!30Redesigned scenes,!29Redesigned scenes,!28Redesigned scenes,!26Redesigned Main menu and expense/income windows,!24Merging frontend-testing with master,!23Merging frontend-testing and master
package no.ntnu.idatt1002.demo.controller;
import java.io.IOException;
import java.io.Serializable;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Modality;
import javafx.stage.Stage;
import no.ntnu.idatt1002.demo.data.Economics.Expense;
import no.ntnu.idatt1002.demo.data.Economics.ExpenseCategory;
public class ExpenseController implements Initializable {
@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 addExpense(ActionEvent event) throws IOException {
FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/addExpense.fxml"));
Scene newScene = new Scene(loader.load());
Stage newStage = new Stage();
newStage.setScene(newScene);
newStage.setResizable(false);
newStage.initModality(Modality.APPLICATION_MODAL);
newStage.show();
}
public void editExpense(ActionEvent event) throws IOException {
}
public void deleteExpense(ActionEvent event) throws IOException {
}
public void switchIncome(ActionEvent event) {
}
}
package no.ntnu.idatt1002.demo.controller;
import java.awt.Menu;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ProgressBar;
import javafx.stage.Stage;
public class MenuController implements Initializable {
@FXML
private Button addExpense;
@FXML
private DatePicker date;
@FXML
private Button food;
@FXML
private Button overview;
@FXML
private ProgressBar progressbar;
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
}
@FXML
public void switchStartMenu(ActionEvent event) throws IOException {
FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/FirstMenu.fxml"));
Parent root = loader.load();
Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow();
Scene 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 = (Stage)((Node)event.getSource()).getScene().getWindow();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
}
......@@ -19,8 +19,7 @@
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1">
<AnchorPane xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="no.ntnu.idatt1002.demo.controller.MenuController">
<children>
<ImageView fitHeight="400.0" fitWidth="600.0" pickOnBounds="true">
<cursor>
......@@ -45,7 +44,7 @@
<children>
<VBox alignment="BOTTOM_RIGHT" GridPane.columnSpan="2">
<children>
<DatePicker />
<DatePicker fx:id="date" />
<HBox alignment="BOTTOM_CENTER" prefHeight="28.0" prefWidth="574.0">
<children>
<Label text="5000kr left" />
......@@ -55,12 +54,12 @@
</VBox>
<AnchorPane GridPane.columnSpan="2" GridPane.rowIndex="1">
<children>
<ProgressBar layoutX="10.0" layoutY="14.0" prefHeight="40.0" prefWidth="554.0" progress="0.72" />
<ProgressBar fx:id="progressbar" layoutX="10.0" layoutY="14.0" prefHeight="40.0" prefWidth="554.0" progress="0.72" />
</children>
</AnchorPane>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="50.0" GridPane.columnSpan="2" GridPane.rowIndex="2">
<children>
<Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Food">
<Button fx:id="food" contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Food">
<graphic>
<ImageView fitHeight="63.0" fitWidth="87.0" pickOnBounds="true">
<cursor>
......@@ -72,7 +71,7 @@
</ImageView>
</graphic>
</Button>
<Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Add expense">
<Button fx:id="addExpense" contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Add expense">
<graphic>
<ImageView fitHeight="79.0" fitWidth="87.0" pickOnBounds="true">
<cursor>
......@@ -84,7 +83,7 @@
</ImageView>
</graphic>
</Button>
<Button contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Overview">
<Button fx:id="overview" contentDisplay="TOP" mnemonicParsing="false" prefHeight="125.0" prefWidth="125.0" text="Overview">
<graphic>
<ImageView fitHeight="63.0" fitWidth="87.0" pickOnBounds="true">
<cursor>
......@@ -119,7 +118,7 @@
<top>
<HBox prefHeight="51.0" prefWidth="600.0" BorderPane.alignment="CENTER">
<children>
<Button mnemonicParsing="false" onAction="#switchIncome" text="Return ">
<Button mnemonicParsing="false" text="Return ">
<opaqueInsets>
<Insets left="100.0" />
</opaqueInsets>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment