package no.ntnu.idatt1002.demo.controller; import java.io.IOException; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.ListView; import javafx.scene.input.MouseButton; import javafx.stage.Stage; import no.ntnu.idatt1002.demo.data.Budget.BudgetRegister; import no.ntnu.idatt1002.demo.data.Budget.FileHandlingBudget; public class SelectBudgetController { @FXML private ListView<String> budgetListView; private BudgetRegister budgetRegister; private ObservableList<String> budgetList; @FXML public void initialize() throws IOException { try { if (FileHandlingBudget.isBudgetRegisterEmpty()) { budgetRegister = new BudgetRegister(); } else { budgetRegister = FileHandlingBudget.readBudgetArchive(""); } } catch (IOException ioe) { ioe.printStackTrace(); } System.out.println("budget register is: " + budgetRegister); budgetList = FXCollections.observableList(budgetRegister.getBudgetNames()); budgetListView.setItems(budgetList); budgetListView.setOnMouseClicked(mouseEvent-> { if(mouseEvent.getButton().equals(MouseButton.PRIMARY)){ if(mouseEvent.getClickCount() == 2){ System.out.println("Double clicked"); } } }); } @FXML public void selectBudget(ActionEvent event) throws IOException { String name = budgetListView.getSelectionModel().getSelectedItem(); System.out.println(name); FileHandlingBudget.updateSelectedBudget(name); final Node source = (Node) event.getSource(); ((Stage) source.getScene().getWindow()).close(); } @FXML public void exitWindow(ActionEvent event) throws IOException { FileHandlingBudget.updateSelectedBudget(""); final Node source = (Node) event.getSource(); ((Stage) source.getScene().getWindow()).close(); } }