-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMenuController.java
73 lines (58 loc) · 1.69 KB
/
MenuController.java
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
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
/**
*
* @author Alex Krantz
* Due date: May 28th
* Class description: Dictates the functionality of the GUI menu
*/
public class MenuController {
private MenuPanel menu;
private JFrame frame;
// Instantiate JButton properties
private String[] buttonNames = {"Create", "Edit", "Study"};
private ActionListener[] buttonListeners = {new Create(), new Edit(), new Study()};
public MenuController(JFrame f) {
menu = new MenuPanel(buttonNames, buttonListeners); // Create menu panel specified buttons
frame = f;
menu.addPanel(frame); // add menu panel to frame
}
// remove menu panel from frame and launch create mode
public class Create implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
menu.removePanel(frame);
SwingUtilities.invokeLater(new Runnable() {
public void run () {
new CreateCardsController(frame);
}
});
}
}
// remove menu panel from frame and launch edit mode
public class Edit implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
menu.removePanel(frame);
SwingUtilities.invokeLater(new Runnable() {
public void run () {
new EditCardsController(frame);
}
});
}
}
// remove menu panel from frame and launch edit mode
public class Study implements ActionListener {
public void actionPerformed(ActionEvent e) {
menu.removePanel(frame);
SwingUtilities.invokeLater(new Runnable() {
public void run () {
new StudyCardsController(frame);
}
});
}
}
}