1 package gui;
2
3 import action.C2SAction;
4 import action.CourseAction;
5 import action.StudentAction;
6 import javafx.application.Application;
7 import javafx.geometry.Insets;
8 import javafx.scene.Scene;
9 import javafx.scene.control.*;
10 import javafx.scene.layout.GridPane;
11 import javafx.scene.layout.HBox;
12 import javafx.stage.Stage;
13 import model.C2S;
14 import model.Course;
15 import model.Student;
16
17 import java.sql.SQLException;
18 import java.util.List;
19
20 /**
21 * Created by yinus
22 * Date:2016/4/16
23 * Time:13:45
24 */
25 public class view extends Application {
26 @Override
27 public void start(Stage primaryStage) throws Exception {
28 HBox box = new HBox();
29 box.setSpacing(10);
30 TextArea textArea = new TextArea("second database project\n");
31 textArea.appendText("------version 1.0------\n");
32 textArea.appendText("------author ycy------\n");
33 textArea.setPrefColumnCount(50);
34 textArea.setPrefRowCount(20);
35 textArea.setWrapText(true);
36 textArea.setEditable(false);
37 ScrollPane scrollPane = new ScrollPane(textArea);
38 GridPane gridPane = new GridPane();
39 gridPane.setPadding(new Insets(5,5,5,5));
40 gridPane.setHgap(10);
41 gridPane.setVgap(10);
42 gridPane.add(new Label("student name"),0,0);
43 TextField sn = new TextField();
44 sn.setMaxWidth(100);
45 gridPane.add(sn,1,0);
46 gridPane.add(new Label("student id"),0,1);
47 TextField si = new TextField();
48 si.setMaxWidth(100);
49 gridPane.add(si,1,1);
50 gridPane.add(new Label("course title"),0,2);
51 TextField ct = new TextField();
52 ct.setMaxWidth(100);
53 gridPane.add(ct,1,2);
54 gridPane.add(new Label("course id"),0,3);
55 TextField ci = new TextField();
56 ci.setMaxWidth(100);
57 gridPane.add(ci,1,3);
58 gridPane.add(new Label("credit"),0,4);
59 TextField cd = new TextField();
60 cd.setMaxWidth(100);
61 gridPane.add(cd,1,4);
62 RadioButton rs = new RadioButton("student");
63 RadioButton rc = new RadioButton("course");
64 RadioButton rcs = new RadioButton("cs");
65 gridPane.add(rcs,0,5);
66 gridPane.add(rc,1,5);
67 gridPane.add(rs,2,5);
68 ToggleGroup group = new ToggleGroup();
69 rs.setToggleGroup(group);
70 rc.setToggleGroup(group);
71 rcs.setToggleGroup(group);
72 Button add = new Button("add");
73 Button delete = new Button("delete");
74 Button update = new Button("update");
75 Button query = new Button("query");
76 Button clear = new Button("clear");
77 gridPane.add(add,0,6);
78 gridPane.add(delete,1,6);
79 gridPane.add(update,0,7);
80 gridPane.add(query,1,7);
81 gridPane.add(clear,0,8);
82 box.getChildren().addAll(scrollPane,gridPane);
83 Scene scene = new Scene(box);
84 primaryStage.setScene(scene);
85 primaryStage.setTitle("dbproj1.0");
86 primaryStage.show();
87 rcs.setSelected(true);
88 clear.setOnAction(e->{
89 sn.clear();
90 si.clear();
91 ci.clear();
92 cd.clear();
93 ct.clear();
94 });
95 add.setOnAction(e->{
96 if (rc.isSelected()){
97 String courseTitle = ct.getText();
98 int courseId = Integer.parseInt(ci.getText());
99 CourseAction courseAction = new CourseAction();
100 try {
101 courseAction.add(new Course(courseId,courseTitle));
102 textArea.appendText("title:"+courseTitle+" id:"+courseId+ " added successfully\n" );
103
104 } catch (SQLException e1) {
105 e1.printStackTrace();
106 }
107 }
108 else if (rs.isSelected()){
109 String studentName = sn.getText();
110 int stuId = Integer.parseInt(si.getText());
111 StudentAction studentAction = new StudentAction();
112 try {
113 studentAction.add(new Student(stuId,studentName));
114 textArea.appendText("name:"+studentName+" id:"+stuId+ " added successfully\n" );
115
116 } catch (SQLException e1) {
117 e1.printStackTrace();
118 }
119 }
120 else if (rcs.isSelected()){
121 int stuid = Integer.parseInt(si.getText());
122 int couid = Integer.parseInt(ci.getText());
123 double cr = Double.parseDouble(cd.getText());
124 C2SAction c2SAction = new C2SAction();
125 try {
126 c2SAction.add(new C2S(stuid,couid,cr));
127 textArea.appendText("student id:"+stuid+" course id:"+couid+" credit"+ cr + " added successfully\n" );
128
129 } catch (SQLException e1) {
130 e1.printStackTrace();
131 }
132 }
133 });
134
135 delete.setOnAction(e->{
136 if (rc.isSelected()){
137 int i = Integer.parseInt(ci.getText());
138 CourseAction courseAction = new CourseAction();
139 try {
140 courseAction.delete(i);
141 textArea.appendText("delete successfully\n");
142 } catch (SQLException e1) {
143 e1.printStackTrace();
144 }
145 }
146 else if (rs.isSelected()){
147 int i = Integer.parseInt(si.getText());
148 StudentAction studentAction = new StudentAction();
149 try {
150 studentAction.delete(i);
151 textArea.appendText("delete successfully\n");
152 } catch (SQLException e1) {
153 e1.printStackTrace();
154 }
155 }
156 else if (rcs.isSelected()){
157 int c = Integer.parseInt(ci.getText());
158 int s = Integer.parseInt(si.getText());
159 C2SAction cs = new C2SAction();
160 try {
161 cs.delete(s,c);
162 textArea.appendText("delete successfully\n");
163 } catch (SQLException e1) {
164 e1.printStackTrace();
165 }
166 }
167 });
168
169 update.setOnAction(e->{
170 if (rc.isSelected()){
171 String courseTitle = ct.getText();
172 int courseId = Integer.parseInt(ci.getText());
173 CourseAction courseAction = new CourseAction();
174 try {
175 Course course = courseAction.queryById(courseId);
176 course.setTitle(courseTitle);
177 courseAction.update(course);
178 textArea.appendText("title:"+courseTitle+" id:"+courseId+ " updated successfully\n" );
179 } catch (SQLException e1) {
180 e1.printStackTrace();
181 }
182 }
183 else if (rs.isSelected()){
184 String studentName = sn.getText();
185 int stuId = Integer.parseInt(si.getText());
186 StudentAction studentAction = new StudentAction();
187 try {
188 Student student = studentAction.queryById(stuId);
189 student.setName(studentName);
190 studentAction.update(student);
191 textArea.appendText("name:"+studentName+" id:"+stuId+ " updated successfully\n" );
192 } catch (SQLException e1) {
193 e1.printStackTrace();
194 }
195
196 }
197 else if (rcs.isSelected()){
198 int stuid = Integer.parseInt(si.getText());
199 int couid = Integer.parseInt(ci.getText());
200 double cr = Double.parseDouble(cd.getText());
201 C2SAction c2SAction = new C2SAction();
202 try {
203 C2S s = c2SAction.query(stuid, couid);
204 s.setCredit(cr);
205 c2SAction.update(s);
206 textArea.appendText("student id:"+stuid+" course id:"+couid+" credit"+ cr + " updated successfully\n" );
207 } catch (SQLException e1) {
208 e1.printStackTrace();
209 }
210 }
211 });
212
213 query.setOnAction(e->{
214 CourseAction courseAction = new CourseAction();
215 if (rc.isSelected()){
216 if (!ci.getText().equals("")) {
217 try {
218 int id = Integer.parseInt(ci.getText());
219 Course course = courseAction.queryById(id);
220 if (course == null)
221 textArea.appendText("null\n");
222 else
223 textArea.appendText(course.toString());
224 } catch (SQLException e1) {
225 e1.printStackTrace();
226 } catch (NumberFormatException ee) {
227 ee.printStackTrace();
228 }
229 }
230 else if (!ct.getText().equals("")){
231 String courseTitle = ct.getText().trim();
232 try {
233 List<Course> courses = courseAction.queryByName(courseTitle);
234 courses.forEach(course -> textArea.appendText(course.toString()));
235 } catch (SQLException e1) {
236 e1.printStackTrace();
237 }
238 }
239 }
240 else if (rs.isSelected()){
241 StudentAction studentAction = new StudentAction();
242 if (!si.getText().equals("")){
243 int i = Integer.parseInt(si.getText());
244 try {
245 Student student = studentAction.queryById(i);
246 textArea.appendText(student.toString());
247 } catch (SQLException e1) {
248 e1.printStackTrace();
249 }
250 }
251 else if (!sn.getText().equals("")){
252 try {
253 List<Student> students = studentAction.queryByName(sn.getText());
254 students.forEach(student -> textArea.appendText(student.toString()));
255 } catch (SQLException e1) {
256 e1.printStackTrace();
257 }
258 }
259 }
260 else if (rcs.isSelected()){
261 int stuid = Integer.parseInt(si.getText());
262 int couid = Integer.parseInt(ci.getText());
263 C2SAction cs = new C2SAction();
264 try {
265 C2S c2S = cs.query(stuid, couid);
266 textArea.appendText(c2S.toString());
267 } catch (SQLException e1) {
268 e1.printStackTrace();
269 }
270 }
271 });
272 }
273 public static void main(String[] args) {
274 Application.launch(args);
275 }
276 }