-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserFunctionPane.java
More file actions
executable file
·137 lines (124 loc) · 3.59 KB
/
UserFunctionPane.java
File metadata and controls
executable file
·137 lines (124 loc) · 3.59 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
* UserFunctionPane.java created by wenxiyang on MacBook Pro in a2
*
* Author: Wenxi Yang(wyang235@wisc.edu)
* Date: 4/21/2020
*
* Course: CS400
* Semester: Spring 2020
* Lecture: 001
*
* IDE: Eclipse IDE for Java Developers
* Version: 2019-12 (4.14.0)
* Build id: 20191212-1212
*
* Device: Wenxi's MacBook Pro
* OS: MacOS Mojave
* Version: 10.14.4
* OS Build: 18E226
*
* List Collaboratons:
*
* Other Credits:
*
* Known bugs:
*/
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.control.Button;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.GridPane;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
/**
* The Class UserFunctionPane.
*/
public class UserFunctionPane {
/** The pane. */
private static GridPane pane;
/**
* Gets the user function pane.
*
* @return the user function pane
*/
public static GridPane getUserFunctionPane(Stage stage, MilkData milkData) {
if (pane == null) {
pane = new GridPane();
pane.setPadding(new Insets(10, 10, 10, 60));
// Setting the vertical and horizontal gaps between the columns
pane.setVgap(20);
pane.setHgap(10);
Text t1 = new Text("User Functions");
t1.setFont(Font.font(22));
pane.add(t1, 1, 0);
ToggleGroup radioGroup = new ToggleGroup();
RadioButton rbtFarmRpt = new RadioButton("Farm Report");
rbtFarmRpt.setFont(Font.font(18));
rbtFarmRpt.setToggleGroup(radioGroup);
pane.add(rbtFarmRpt, 1, 2);
RadioButton rbtAnnualRpt = new RadioButton("Annual Report");
rbtAnnualRpt.setFont(Font.font(18));
rbtAnnualRpt.setToggleGroup(radioGroup);
pane.add(rbtAnnualRpt, 1, 3);
RadioButton rbtMonthRpt = new RadioButton("Monthly Report");
rbtMonthRpt.setFont(Font.font(18));
rbtMonthRpt.setToggleGroup(radioGroup);
pane.add(rbtMonthRpt, 1, 4);
RadioButton rbtDRRpt = new RadioButton("Date Range Report");
rbtDRRpt.setFont(Font.font(18));
rbtDRRpt.setToggleGroup(radioGroup);
pane.add(rbtDRRpt, 1, 5);
Button btReport = new Button("Confirm");
btReport.setFont(Font.font(14));
pane.add(btReport, 2, 6);
btReport.setOnAction(new EventHandler<ActionEvent>() {
/**
* Handle actions.
*
* @param event the event
*/
@Override
public void handle(ActionEvent event) {
RadioButton selectedRadioButton = (RadioButton) radioGroup.getSelectedToggle();
if (selectedRadioButton.equals(rbtFarmRpt)) {
System.out.println("call Farm Report");
FarmReport farmR = new FarmReport(milkData);
Stage d2Stage = new Stage();
try {
farmR.start(d2Stage);
} catch (Exception e) {
e.printStackTrace();
}
} else if (selectedRadioButton.equals(rbtAnnualRpt)) {
AnnualReport annualR = new AnnualReport(milkData);
Stage d2Stage = new Stage();
annualR.start(d2Stage);
System.out.println("call Annual Report");
} else if (selectedRadioButton.equals(rbtMonthRpt)) {
System.out.println("call Monthly Report");
MonthlyReport monthR = new MonthlyReport();
Stage d2Stage = new Stage();
try {
monthR.start(d2Stage);
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("call Date Range Report");
DateRangeReport dateR = new DateRangeReport(milkData);
Stage d2Stage = new Stage();
try {
dateR.start(d2Stage);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
return pane;
}
}