package no.ntnu.idatt1002.demo.controller; import java.awt.event.InputEvent; import java.io.IOException; 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.stage.Modality; import javafx.stage.Stage; 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 switchIncome(ActionEvent event) throws IOException { FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Income.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 switchOverview(ActionEvent event) throws IOException { FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/Overview.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 { 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 addIncome(ActionEvent event) throws IOException { FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/addIncome.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 underProgress(ActionEvent event) throws IOException{ FXMLLoader loader = new FXMLLoader(SceneController.class.getResource("/view/underProgress.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 closeButton(ActionEvent actionEvent) { final Node source = (Node) actionEvent.getSource(); final Stage stage = (Stage) source.getScene().getWindow(); stage.close();; } }