学生信息管理系统java课程设计报告(含源代码)(编辑修改稿)内容摘要:

图 18 管理员界面子菜单 系统 界面 图 19 管理员界面子菜单 学生管理 界面 图 20 管理员界面 子菜单 系统设置 界面 18 学生信息查询界面 图 21 学生信息查询 学生信息查询结果显示 图 22 学生信息查询显示 添加学生信息界面 在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时 : 图 23 添加学生信息 19 修改学生信息界面 ( 学号是主键,灰色显示,即不可更改 ) 图 24 修改 学生信息 显示所有学生信息 图 25 显示所有信息 20 当没有选中一行的时候,不能修改和删除,并弹出提示警告框 图 26 修改和删除警告框图 1 删除文件时的 确认对话框(点击确认时 会删除,点击取消,则返回主界面) 图 27 删除学生 确认对话框 21 1 显示所有登陆用户信息 图 28 显示 登录用户信息示意图 1 修改用户登陆密码,选中某个用户进行修改 图 29 修改用户登录密码界面示意图 1 关闭用户记录,即不显示所有用户信息 图 30 关闭用户记录示意图 1 关闭学生记录 图 31 关闭学生记录示意图 22 1 退出系统确认对话框 只有确认时才会退出系统,否则返加主界面 图 32 退出系统 1 普通学生登陆后的界面(即不能对学生信息进行添加, 修改和删除以及用户 密码修改,对应的这几项灰色显示,不可点击) 图 33 学生登录界面( 1) 图 34 学生登录界面( 2) 23 四、心得体会 这次为期一周的课程设计 让我对 java 有了新的认识,首先我接触了很多上课见过但没有实际用过的类和方法,让我对编程有了许多新的思想。 大一学了C 语言 、 C++等 ,虽然当时学的还不错,由于学的都是入门知识,所以自己做的程序 只能 实现一定的功能,和自己平时用的软件相差很大。 这学期刚开课学java,虽然知道这是一门很有用的语言,但是却 感觉没什么新鲜感,它的跨平台特性也只是听听,根本 没有认识,由于平时学习不刻苦, 也 没有时间静下心来写过 java 代码, 当得知最后期末最后一周将进行 java 课程设计, 才静下心来开始研究 java,结合以前的编程知识,做起了自己的程序。 与此同时,我们也在进行数据库课程设计,和这个系统相类似, ,做起来 比较熟练,同时想通过做 课程设计将数据库和 java 更好的结合运用起来 ,感觉 这样才能够 更贴近实际应用。 这次课程设计 使 我对 java 的跨平台性有了进一步认识, 同时加深了课堂上所学到的知识。 虽然这是第三次课程设计,并且自己也有了两年的上机实验,但我不得不说这一次课程设计是前两 次以及任何一节上机实验课都不可比的。 在课程设计这一段时间,使我收获了很多在上机课上无法学习到的知识,尤其是需求分析和 eclipse 熟练的使用。 因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,但通过老师的指导和一次又一次的指导、改写、调试,将这些困难都解决了,心中的喜悦感油然而生。 为了能使程序更加的完善,更加人性化,我也利用了不少的课余时间,查找了各方面的资料,看到一个小型系统能够展示在电脑屏幕上时,感觉自己这段时间的付出是非常值得的,也使我对 java 产生了更浓厚的兴趣,对自己的学习以及将来的工作 都是有很大的帮助的。 整个 课程设计 过程让我的 java 知识得到了应用,体验了程序员编程时的喜怒哀乐,知识、心智,得到全方位提升,收获颇丰。 24 五、参考文献 著作文献: [1] 赵海廷 .Java 语言程序设计教程 .北京 :清华大学出版社 .2020 [2] 孙印杰 ,刘斌 ,孙玉强 .Java 编程案例精解 .北京 :电子工业 出版社 .2020 [3] 何梅 .java 编程实例系列丛书 .北京:清华大学出版社, 2020 [4] 杨昭 .二级 Java 语言程序设计教程 .北京:中国水利水电出版社, 2020 [5] 赵文靖 .Java 程序 设计基础与上机指导 .北京:清华大学出版社, 2020 六、附录 功能:这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现 package。 import .*。 import。 import。 import .*。 import。 public class StuQuery extends JDialog implements ActionListener{ //定义查询所需要的面板和组件 JPanel jp1。 JLabel jp1_jl1。 JTextField jp1_jtf1。 JButton jp1_jb1,jp1_jb2,jp1_jb3。 JTable jtb。 JScrollPane jsp。 TableModel tm。 25 public StuQuery(Frame Main,String title ,boolean model) { //调用父 类的构造方法,实现模式对话 super(Main,title,model)。 jp1=new JPanel()。 jp1_jl1=new JLabel(请输入姓名: )。 ()。 jp1_jtf1=new JTextField(15)。 jp1_jb1=new JButton(查 询 )。 ()。 (this)。 jp1_jb2=new JButton(清 除 )。 ()。 (this)。 jp1_jb3=new JButton(显示所有记录 )。 ()。 (this)。 (jp1_jl1)。 (jp1_jtf1)。 (jp1_jb1)。 (jp1_jb2)。 (jp1_jb3)。 jtb=new JTable()。 jsp=new JScrollPane(jtb)。 (jp1,North)。 (jsp,Center)。 (600,400)。 (true)。 26 } @Override public void actionPerformed(ActionEvent arg0) { // TODO Autogenerated method stub //如果点击了查询按钮 if(()==jp1_jb1) { //获取文本框的值 String stuName=().trim()。 //其中 trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格 String sql=select * from student where stuName=39。 +stuName+39。 //调用模型 tm=new TableModel(sql)。 (tm)。 } else if(()==jp1_jb2) { ()。 } else if(()==jp1_jb3) { tm=new TableModel(null)。 (tm)。 } } } 27 功能:这是一个表模型,用于更新数据 package。 import .*。 //引入数据库连接的包 import .*。 import .*。 import。 import。 public class TableModel extends AbstractTableModel { //定义表格所需要的集合 Vector rowData,row,column。 //定义一个记录集,用于接收从数据库返回来的记录集 ResultSet rs。 //定义一个用于连接数据库的对象 SqlConn conn。 public TableModel(String sql) { if(sql==null) { sql=select * from student。 } //设置表格的列名 column=new Vector()。 (学号 )。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。