《Java语言程序设计课程设计实训项目应用JavaSwingGUI组件技术实现课程选课系统GUI窗口第4部分》由会员分享,可在线阅读,更多相关《Java语言程序设计课程设计实训项目应用JavaSwingGUI组件技术实现课程选课系统GUI窗口第4部分(12页珍藏版)》请在金锄头文库上搜索。
1、杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料1.1 应用Java Swing GUI组件技术实现课程选课系统GUI窗口(第4部分)1.1.1 编程窗口内的确认和取消两个按钮的事件处理功能实现1、编程取消按钮的事件响应功能实现private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) this.dispose();2、编程确认按钮的事件响应方法的功能实现private void confrimButtonActionPerformed(java.awt.event.ActionEvent evt)
2、/* * (1)首先获得操作者所选的刚刚课程相关的信息 */String selectedCourseName=(String)courseName.getSelectedItem();String selectedTeacherName=(String)teacherName.getSelectedItem();String selectedCourseTime=(String)courseTime.getSelectedItem();String selectedCourseCreit=(String)courseCreit.getSelectedItem();/* * (2)将选课相关的
3、信息包装到PO对象中 */* * 将所输入的课程的相关信息保存到PO对象中 */CourseInfoPO oneCourseInfoPO=new CourseInfoPO();oneCourseInfoPO.setCourseGrade(Integer.parseInt(selectedCourseCreit);oneCourseInfoPO.setCourseName(selectedCourseName);oneCourseInfoPO.setCourseTeacher(selectedTeacherName);oneCourseInfoPO.setCourseTime(selectedC
4、ourseTime);/* * (3)将PO对象保存到数据库表中,从缓存中获得当前已经登录成功的学生信息PO对象 */StudentInfoPO currentLoginedStudentInfoPO=DataBase.loginedStudentInfoPO;/* * 识别是否重复选课,如果目前为重复选课,则不再将当前所选择的课程添加到所选课程列表中,而是直接退出。 */if(currentLoginedStudentInfoPO.allSelectedCourseInfo.containsKey(selectedCourseName)System.out.println(selectedC
5、ourseName+课程已经选择了,不允许重复选择该课程!n);this.dispose();return; /* * (4)将所选的课程的相关信息缓存在当前登录成功的学生信息PO对象中以缓存(已选课列表) */currentLoginedStudentInfoPO.allSelectedCourseInfo.put(selectedCourseName, oneCourseInfoPO);System.out.println(已经将所选的+selectedCourseName+课程添加到已选课程的列表中!n);this.dispose();1.1.2 将选课窗口和课程管理功能类相互连接1、修
6、改CourseManageImple类中的addOneCourse方法public void addOneCourse() /* * 识别选课者当前是否已经成功地登录本系统,否则将不允许选课 */if(DataBase.loginedStudentInfoPO=null)System.out.println(你没有登录本系统,将不能进行选课!n);return;OnLineSelectCourseWindow oneOnLineSelectCourseWindow=new OnLineSelectCourseWindow();oneOnLineSelectCourseWindow.setVis
7、ible(true);2、测试现在的功能实现效果执行主窗口,将弹出主窗口。由于目前不能将注册和登录的信息永久保存,因此需要首先注册、登录,然后再进行选课。在弹出的在线选课的窗口内进行选择:选课完毕后,在控制台中将出现下面的结果信息:1.1.3 设计和实现退选课窗口的UI界面1、新建退选课窗口的UI界面类名称为RemoveCourseWindow,包名称为com.px1987.course.ui将出现下面的界面2、设置该窗口的主要属性3、在该窗口内添加如下的组件(1)改变文字为:课程名称(2)在课程名称列表中添加各个课程的名称1) Java程序设计2) C程序设计3) C#程序设计4) 操作系统
8、5) 数据结构6) 数据库原理7) Oracle数据库(3)改变课程组合框的对象名称为removeCourseCompBox。4、在该窗口内添加两个按钮改变按钮的提示文字改变两个按钮的对象名称为confirmButton和cancelButton。为两个按钮添加事件响应1.1.4 编程窗口内的确认和取消按钮的事件处理功能实现1、取消按钮的事件private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) this.dispose();2、确认按钮的事件处理private void confirmButtonAct
9、ionPerformed(java.awt.event.ActionEvent evt) /* * (1)获得学院退选的课程名称 */String removeCourseName=(String)removeCourseCompBox.getSelectedItem();/* * (2)从缓存中获得当前已经登录成功的学生信息PO对象 */StudentInfoPO currentLoginedStudentInfoPO=DataBase.loginedStudentInfoPO;/* * 识别当前所退选的课程是否已经在选课列表中存在,如果没有选择过该课程, * 则不能退选课程而是直接退出。
10、*/if(!currentLoginedStudentInfoPO.allSelectedCourseInfo.containsKey(removeCourseName)System.out.println(removeCourseName+课程没有选择过,系统将不进行本次的退选操作!n);this.dispose();return; /* * (3)将所输入的课程名称的相关课程信息从登录成功的学生信息PO中删除掉 */currentLoginedStudentInfoPO.allSelectedCourseInfo.remove(removeCourseName);System.out.pr
11、intln(已经将所选的+removeCourseName+课程从已选课程的列表中删除了!n);this.dispose();3、执行退选课窗口以测试现在的结果1.1.5 将退选课窗口与课程管理的业务功能类相互连接1、修改CourseManageImple类中的removeOneCourse方法public void removeOneCourse() /* * 识别选课者当前是否已经成功地登录本系统,否则将不允许退选课 */if(DataBase.loginedStudentInfoPO=null)System.out.println(你没有登录本系统,将不能进行退选课!n);return;RemoveCourseWindow oneRemoveCourseWindow=new RemoveCourseWindow();oneRemoveCourseWindow.setVisible(true);2、测试现在的功能执行主窗口,将弹出主窗口。由于目前不能将注册和登录的信息永久保存,因此需要首先注册、登录,然后再进行选课,最后才能退选某个课程该课程必须是他已经选过的课程名称。在弹出的退线选课的窗口内进行选择:退选课完毕后,在控制台中将出现下面的结果信息:如果退选没有选择的课程,则在控制台中出现下面的错误信息:杨教授工作室,版权所有,盗版必究, 12/12页