图6.2.3 学生选课界面
6.3 课程信息管理模块
课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java和StuInfoSearchSnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,CourseInfo类是AddCourseInfo、EditCourseInfo、DelCourseInfo的超类,因为这三个类生成的界面是相同的具有共同之处。CourseInfoSearchSnum是查询模块,用于AddCourseInfo、EditCourseInfo、DelCourseInfo调用来查询课程以便增加、修改和删除课程。
课程信息管理模块的几个界面如下:
图 6.3.1 课程信息增加界面
图 6.3.1 课程信息修改界面
图 6.3.1 课程信息删除界面
6.4 查询模块
查询模块分学生信息查询、课程信息查询和成绩查询: 界面如下:
图 6.4 查询模块
图6.5 数据库操作模块
数据库操作模块包括连接数据库和数据库操作,连接数据库在类DataBase.java中,操作数据库类分别在几个不同的类里,学生信息操作在StuBean.java,选课操作在Csbean.java中,课程操作在CrsBean.java中,代码在附录里,这里就不重复了。
第七部分 课程设计心得
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对JAVA的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
从开始入手到做完报告,我收获很多,在这,衷心的感谢赵宏宇老师给予了精心的指导和热情的帮助,导师提出许多宝贵的设计意见,这样使得我得以顺利的完成课程设计开发工作,在短暂的一个学期的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意!
第八部分 附录(按名称排序)
//////////////////////////////////AddCourseInfo.java//////////////////////
import java.awt.event.*; import java.awt.*; import javax.swing.*; /**
* 课程信息管理模块 * 添加新的课程信息 */
public class AddCourseInfo extends CourseInfo{ CrsBean getCnum = new CrsBean();
public AddCourseInfo() { this.setTitle(\添加课程信息\ this.setResizable(false);
cNum.setEditable(true);
cName.setEditable(true); cTeacher.setEditable(true); cPoint.setEditable(true); cRatio.setEditable(true);
cPlace.setEditable(true); //设置运行位置,使对话框居中 Dimension
screenSize
Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation( (int) (screenSize.width - 400) / 2 ,
(int) (screenSize.height - 300) / 2 +45);
}
public void downInit(){ addInfo.setText(\增加\
addInfo.setFont(new Font(\ downPanel.add(addInfo);
clearInfo.setText(\清空\
clearInfo.setFont(new Font(\ downPanel.add(clearInfo);
eixtInfo.setText(\退出\
eixtInfo.setFont(new Font(\=
}
downPanel.add(eixtInfo);
this.contentPane.add(downPanel,BorderLayout.SOUTH); //添加事件侦听
addInfo.addActionListener(this); clearInfo.addActionListener(this); eixtInfo.addActionListener(this);
/** * 事件处理 */
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource(); if (obj == eixtInfo) { //退出 this.dispose(); }
else if (obj == addInfo) { //增加 cNum.setEnabled(false);
cName.setEditable(false); cTeacher.setEditable(false); cPoint.setEditable(false); cRatio.setEditable(false); cPlace.setEditable(false); addInfo.setEnabled(false); clearInfo.setEnabled(false); eixtInfo.setEnabled(false); CrsBean addCrs = new CrsBean();
addCrs.crsAdd(cNum.getText(),cName.getText(),
cPlace.getText(),
cPoint.getText(),
cTeacher.getText(), cRatio.getText());
}
this.dispose();
this.dispose();
AddCourseInfo aci = new AddCourseInfo(); aci.downInit(); aci.pack();
aci.setVisible(true);