Newer
Older
Harry Linrui XU
committed
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 {
Harry Linrui XU
committed
try {
if (FileHandlingBudget.isBudgetRegisterEmpty()) {
budgetRegister = new BudgetRegister();
} else {
budgetRegister = FileHandlingBudget.readBudgetArchive("");
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
System.out.println("budget register is: " + budgetRegister);
Harry Linrui XU
committed
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);
Harry Linrui XU
committed
FileHandlingBudget.updateSelectedBudget(name);
Harry Linrui XU
committed
final Node source = (Node) event.getSource();
((Stage) source.getScene().getWindow()).close();
}
@FXML
public void exitWindow(ActionEvent event) throws IOException {
Harry Linrui XU
committed
FileHandlingBudget.updateSelectedBudget("");
Harry Linrui XU
committed
final Node source = (Node) event.getSource();
((Stage) source.getScene().getWindow()).close();
}
}