-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathController.java
More file actions
102 lines (83 loc) · 2.53 KB
/
Controller.java
File metadata and controls
102 lines (83 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.ResourceBundle;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class Controller implements Initializable{
protected Account currentUser, selectedAccount;
protected ArrayList<Account> accountList;
protected String currPage, prevPage;
public void setUser(Account user){
currentUser = user;
}
public void setAccountList(ArrayList<Account> list){
accountList = list;
}
public void setSelectedAccount(Account account){
selectedAccount = account;
}
public void setCurrPage(String page){
currPage = page;
}
public void setPrevPage(String page){
prevPage = page;
}
public void backButton(String prevPage, Button button) throws IOException{
Stage stage;
Parent root;
FXMLLoader loader;
Controller controller;
stage = (Stage) button.getScene().getWindow();
loader = new FXMLLoader(getClass().getResource(prevPage));
root = loader.load();
controller = loader.getController();
controller.setUser(currentUser);
controller.setAccountList(accountList);
controller.setSelectedAccount(selectedAccount);
controller.setCurrPage(prevPage);
controller.setPrevPage(currPage);
controller.initData();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public void goToPage(String newPage, Button button) throws IOException{
Stage stage;
Parent root;
FXMLLoader loader;
Controller controller;
stage = (Stage) button.getScene().getWindow();
loader = new FXMLLoader(getClass().getResource(newPage));
root = loader.load();
controller = loader.getController();
controller.setUser(currentUser);
controller.setAccountList(accountList);
controller.setSelectedAccount(selectedAccount);
controller.setCurrPage(newPage);
controller.setPrevPage(currPage);
controller.initData();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public void saveData() throws IOException{
FileOutputStream fos = new FileOutputStream("./data/accountList.tmp");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(accountList);
oos.close();
}
public void initData(){
//Empty for child classes to override
}
@Override
public void initialize(URL location, ResourceBundle resources) {
}
}