Java课程设计报告-.pdf

上传人:索**** 文档编号:76244007 上传时间:2023-03-08 格式:PDF 页数:16 大小:623.90KB
返回 下载 相关 举报
Java课程设计报告-.pdf_第1页
第1页 / 共16页
Java课程设计报告-.pdf_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《Java课程设计报告-.pdf》由会员分享,可在线阅读,更多相关《Java课程设计报告-.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目录第一章 总体设计.11.1 本系统的主要功能.11.2 系统包含的类及类之间的关系.11.3Java 源文件及其功能.11.4 相关文件及其功能.2第二章 详细设计.22.1 主类 MainWindow.22.2 类 Database.32.3 类 StuBean.32.4 类 InputStudent.42.5 类 ModifyStudent.42.6 类 QueryStudent.52.7 类 DeleteStudent.6第三章 功能测试及运行效果.错误!未定义书签。3.1系统主界面.错误!未定义书签。3.2录入学生信息界面.错误!未定义书签。3.3查询学生信息界面.错误!未定义书签

2、。3.4修改学生信息界面.错误!未定义书签。3.5修改学生信息界面.错误!未定义书签。工作总结.6参考文献.7咸宁学院计算机科学与技术学院课程设计报告1第一章总体设计1.1 本系统的主要功能本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。1.2 系统包含的类及类之间的关系本系统共包括 7 个 Java 源文件和 3 个辅助文件。类之间的关系如图1-1 所示MainWindowInputStudentModifyStudenDeleteStudentQueryStudentDatabaseImageIconStuBeanFileStuBeanData

3、baseFileStuBeanDatabaseStuBeanDatabase图 1-1 类之间的关系图1.3Java 源文件及其功能1.MainWindow.java该类负责创建学生信息管理系统的主窗口,该类还有main 方法,程序从该类开始执行。2.InputStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。3.ModifyStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供修改学生基本信息的界面。4.DeleteStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供

4、删除学生基本信息的界面。5.QueryStudent.java该类创建的对象是MainWindow类的重要成员之一,负责提供查询学生基本信息以及打印咸宁学院计算机科学与技术学院课程设计报告2基本信息的界面。6.Database.java该类负责提供打开与关闭数据库连接的功能。7.StuBean.java该类负责数据库操作,包括对学生信息数据库的添加、查询、修改、删除。1.4 相关文件及其功能1.welcome.jpg为主窗口的背景图片,MainWidow需要调用该文件。2.icon.jpg该文件是窗口最小化时的窗口图标,MainWidow需要调用该文件。3.专业.txt该文件为专业组合的组合键

5、提供下拉菜单的内容,InputStudent 与 ModifyStudent需要调用该文件。4 scmanage.mdb该文件为本程序数据源,负责保存学生基本信息,Database连接到该数据库第二章详细设计2.1 主类 MainWindow(1)成员变量见表2-1表 2-1主要成员变量(属性)成员变量描述变量类型名称面板InputStudentins面板ModifyStudentmos面板DeleteStudentdes面板QueryStudentqus菜单栏JButtonBarbar菜单组JMenumenuSystemmenuStu菜单项JMenuItemitemWelitemExitit

6、emSearchitemAdditemEdititemDelete布局管理器CardLayoutcard(2)方法见表 2-2咸宁学院计算机科学与技术学院课程设计报告3表 2-2主要方法方法名称返回类型功能备注MainWindow无类型创建窗口构造方法actionPerformed无类型处理响应事件继承自父类抽象方法main无类型执行程序程序的主函数(3)源代码见文件MainWindow.java2.2 类 Database(1)成员变量见表2-3表 2-3 主要成员变量成员变量描述变量类型名称执行 SQL语句的接口Statementstmt返回结果的接口ResultSetrs数据库连接接口C

7、onnectionconn字符串(SQL语句、驱动)Stringsqlstrurl(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注Database无类型创建 Database 对象构造方法OpenConn无类型打开数据库连接无executeQueryResultSet执行 SQL查询语句,返回结果集RS返回 ResultSet类型结果集executeUpdate无类型执行 SQL更新语句无closeStmt无类型关闭当前的Statement 对象无closeConn无类型关闭数据库连接无(3)源代码见文件 Database.java2.3 类 StuBean(1)成员变量见表2

8、-5表 2-5 主要成员变量成员变量描述变量类型名称返回结果的接口ResultSetrs字符串(SQL语句数据库属性)Stringsql sNumsNamesSex sMajor sGrade sBirth咸宁学院计算机科学与技术学院课程设计报告4创建 Database 对象DatabaseDB(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注stuAdd添加学生信息无stuModify修改学生信息无stuDel删除学生信息无stuSearchString根据学号查询学生信息返回 ResultSet类型结果集(3)源代码见文件StuBean.java2.4 类 InputStud

9、ent(1)成员变量见表2-5表 2-5 主要成员变量成员变量描述变量类型名称StuBean 对象类型StuBeanaddStu queryStu文本域JTextFieldSnumSname Sgrade Sbirth组合框JComboBoxSmajor单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonEntryreset(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注InputStudent无类型创建录入学生信息界面构造方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文

10、本框内容无(3)源代码见文件InputStudent.java2.5 类 ModifyStudent咸宁学院计算机科学与技术学院课程设计报告5(1)成员变量见表2-5表 2-5 主要成员变量成员变量描述变量类型名称StuBean 对象类型StuBeanmodifyStuqueryStu文本域JTextFieldSnumSname Sgrade Sbirth组合框JComboBoxSmajor单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonentryresetstart(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注Mo

11、difyStudent无类型创建修改学生信息界面构造方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文本框内容无(3)源代码见文件Modify.java2.6 类 QueryStudent(1)成员变量见表2-5表 2-5 主要成员变量成员变量描述变量类型名称StuBean 对象类型StuBeanqueryStu文本域JTextFieldSnumSnameSgrade SbirthSmajor启动并执行打印作业PrintJobpri单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtonque

12、rtprint面板(查询结果之后)JPanelmessPanel(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注QueryStudent无类型创建录入学生信息界面构造方法actionPerformed无类型处理响应事件继承自父类抽象方法咸宁学院计算机科学与技术学院课程设计报告6clearMess无类型清除文本框内容无(3)源代码见文件QueryStudent.java2.7 类 DeleteStudent(1)成员变量见表2-5表 2-5 主要成员变量成员变量描述变量类型名称StuBean 对象类型StuBeandelStuqueryStu文本域JTextFieldSnumSn

13、ameSgrade SbirthSmajor单选框ButtonGroupboy,girl按钮多斥作用域ButtonGroupgroup按钮JButtondel(2)方法见表 2-4表 2-4主要方法方法名称返回类型功能备注InputStudent无类型创建录入学生信息界面构造方法actionPerformed无类型处理响应事件继承自父类抽象方法clearMess无类型清除文本框内容无(3)源代码见文件DeleteStudent.java工作总结通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解和 JAVA的运用,初步掌握JAVA开发应用程序的基本方法,学习了对数据库的

14、基本操作,能够对 MicrosoftAcess 的表做基本处理,提高了自己综合运用所学知识的能力。深刻认识到了基本知识的重要性。现在我知道了,不知道函数怎么来的,根本什么也做不了。除非照抄别人的代码,那样也根本不可能知道功能是如何实现的。现在很有必要加强基本语法知识的学习了。JAVA应用性很强,只有老师的讲解不行,只看也不中,只有自己动手去做才会发现自己确实有太多的不足,许多程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能

15、力和独立思考的能力。其中对JAVA图像用户界面、JAVA数据库 JDBC的运用、内部匿名类等JAVA知识有了更深的理解与应用。树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。咸宁学院计算机科学与技术学院课程设计报告7提高了学习计算机的兴趣,增强了信心。在本次课程设计中,我遇到了很多的困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着一一把困难克服掉了。每当克服一个困难,都非常的兴奋,这些都是自己努力的结果。现在,我有信心面对接下来的挑战,在不断的实践中锻炼自己,提高自己!经过几个星期的

16、设计和开发,系统基本开发完毕。在本次课程设计中困难遇到不少,比如数据库的连接,SQL语言的书写格式,全局参数的传递等。由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,功能不够完善等多方面问题。在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。这些都有待以后进一步改进。回顾起此次 JAVA课程设计,我仍感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在

17、实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。参考文献1耿祥义,张跃平.Java2 实用教程(第三版)M.北京:清华大学出版社,20062(美)霍斯特曼(HorstmannC.S.)&nbs.Java2 核心技术(卷高级特性原书第7 版)/Sun公司核心技术丛书M.机械工业出版社,20064.系统的主要源代码MainWindow.javaimport java.awt.*;import java.awt.event.*;impo

18、rt javax.swing.*;importjava.io.*;public classMainWindow extendsJFrame implementsActionListener InputStudent ins;ModifyStudent mos;QueryStudent qus;DeleteStudent des;/建立菜单栏JMenuBar bar;/建立“系统管理”菜单组JMenu menuSystem;JMenuItem itemExit;JMenuItem itemWel;/建立“学生管理”菜单组JMenu menuStu;JMenuItem itemSearch;JMe

19、nuItem itemAdd;JMenuItem itemEdit;咸宁学院计算机科学与技术学院课程设计报告8JMenuItem itemDelete;File file=null;CardLayout card;JLabel label=null;JPanelpCenter;public MainWindow()/事件处理public void actionPerformed(ActionEvent e)/返回欢迎界面if(e.getSource()=itemWel)intok=JOptionPane.showConfirmDialog(this,确认返回吗?,确认对话框,JOptionPa

20、ne.YES_NO_OPTION);if(ok=JOptionPane.YES_OPTION)card.show(pCenter,欢迎界面);/退出else if(e.getSource()=itemExit)int n=JOptionPane.showConfirmDialog(this,确认退出吗?,确认对话框,JOptionPane.YES_NO_OPTION);if(n=JOptionPane.YES_OPTION)System.exit(0);/录入else if(e.getSource()=itemAdd)ins.clearMess();card.show(pCenter,录入界面

21、);/修改else if(e.getSource()=itemEdit)mos.clearMess();card.show(pCenter,修改界面);/查询else if(e.getSource()=itemSearch)qus.clearMess();card.show(pCenter,查询界面);/删除else if(e.getSource()=itemDelete)card.show(pCenter,删除界面);public static void main(String args)new MainWindow();Database.javaimport java.sql.*;/连接数

22、据库的类public classDatabaseprivate Statement stmt=null;ResultSet rs=null;private Connection conn=null;String sql;String strurl=jdbc:odbc:scmanage;public Database()/打开数据库连接public void OpenConn()throws ExceptiontryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);conn=DriverManager.getConnection(strurl);catch(

23、Exception e)System.err.println(OpenConn:+e.getMessage();/执行 SQL 查询语句,返回结果集RSpublic ResultSet executeQuery(String sql)咸宁学院计算机科学与技术学院课程设计报告9/执行 SQL 更新语句public void executeUpdate(String sql)stmt=null;rs=null;trystmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt

24、.executeQuery(sql);mit();catch(SQLException e)System.err.println(executeUpdate:+e.getMessage();public void closeStmt()trystmt.close();catch(SQLException e)System.err.println(closeStmt:+e.getMessage();/关闭数据库连接public void closeConn()tryconn.close();catch(SQLException ex)System.err.println(aq.closeConn

25、:+ex.getMessage();/转换编码public static String toGBK(String str)try if(str=null)str=;elsestr=new String(str.getBytes(ISO-8859-1),GBK);catch(Exception e)System.out.println(e);return str;StuBean.javaimport java.sql.*;import javax.swing.*;/有关学生信息数据库操作的类public classStuBean String sql;ResultSet rs=null;Stri

26、ng sNum;String sName;String sSex;String sMajor;String sGrade;String sBirth;/添加学生信息public void stuAdd(String num,String name,String sex,String major,String grade,String birth)/修改学生信息public void stuModify(String num,String name,String sex,String major,String grade,String birth)/删除学生信息public void stuDe

27、l(String num)/根据学号查询学生信息public String stuSearch(String num)QueryStudent.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;importjava.util.*;public classQueryStudent extendsJPanelimplements ActionListenerprivate static final long serialVersionUID=1L;/查询界面PrintJob pri;Graphics g=null;

28、StuBeanqueryStu=new StuBean();JTextField Snum,Sname,Smajor,Sgrade,Sbirth;JRadioButton boy,girl;JButton query,print;ButtonGroup group=null;JPanelmessPanel;public QueryStudent()/事件处理public void actionPerformed(ActionEvent e)public void clearMess()Snum.setText(null);Sname.setText(null);咸宁学院计算机科学与技术学院课程

29、设计报告10Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);ModifyStudent.javaimport java.awt.*;import java.io.*;import javax.swing.*;public classModifyStudent extendsJPanelimplements ActionListenerprivate static final long serialVersionUID=1L;/修改界面StuBeanmodStu=new StuBean();StuBeanquerySt

30、u=new StuBean();JTextField Snum,Sname,Sgrade,Sbirth;JComboBox Smajor;JRadioButton boy,girl;ButtonGroup group=null;JButton start,entry,reset;JComboBox oldMess;public ModifyStudent()public void actionPerformed(ActionEvent e)String number=Snum.getText();String rs=new String4;rs=queryStu.stuSearch(numbe

31、r);if(e.getSource()=start|e.getSource()=Snum)oldMess.removeAllItems();if(rs!=null)String q=该 生 信 息 已 存 在,您 想 修 改 他(她)的 基 本 信 息 吗?JOptionPane.showMessageDialog(this,q,警 告,JOptionPane.QUESTION_MESSAGE);entry.setEnabled(true);oldMess.addItem(姓名:+rs0);oldMess.addItem(专业:+rs2);oldMess.addItem(年级:+rs3);ol

32、dMess.addItem(生日:+rs4);if(rs1.equals(男)boy.setSelected(true);elsegirl.setSelected(true);else entry.setEnabled(false);JOptionPane.showMessageDialog(this,该学号不存在无法修改!,警告,JOptionPane.WARNING_MESSAGE);clearMess();else if(e.getSource()=entry)if(rs!=null)String m=基本信息将被修改!;intok=JOptionPane.showConfirmDial

33、og(this,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=Sname.getText();String major=(String)Smajor.getSelectedItem();String grade=Sgrade.getText();String birth=Sbirth.getText();String sex=null;if(boy.isSelected()sex=boy.getText();if(girl.isSelec

34、ted()sex=girl.getText();modStu.stuModify(number,name,sex,major,grade,birth);咸宁学院计算机科学与技术学院课程设计报告11elseif(ok=JOptionPane.NO_OPTION)entry.setEnabled(true);else String w=该学号没有基本信息,不能修改!;JOptionPane.showMessageDialog(this,w,警告,JOptionPane.WARNING_MESSAGE);entry.setEnabled(false);clearMess();else if(e.ge

35、tSource()=reset)clearMess();entry.setEnabled(false);public void clearMess()Snum.setText(null);Sname.setText(null);Sgrade.setText(null);Sbirth.setText(null);oldMess.removeAllItems();InputStudent.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public classInputStude

36、nt extendsJPanelimplements ActionListenerprivate static final long serialVersionUID=1L;/录入界面StuBeanaddStu=new StuBean();StuBeanqueryStu=new StuBean();/设置“录入界面”窗口JTextField Snum,Sname,Sgrade,Sbirth;JComboBox Smajor;JRadioButton boy,girl;ButtonGroup group=null;JButton entry,reset;public InputStudent()

37、/事件处理public void actionPerformed(ActionEvent e)public void clearMess()Snum.setText(null);Sname.setText(null);Sgrade.setText(null);Sbirth.setText(null);(#)QueryStudent.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;public classQueryStudent extendsJPanelimplement

38、s ActionListenerprivate static final long serialVersionUID=1L;/查询界面PrintJob pri;Graphics g=null;StuBeanqueryStu=new StuBean();JTextField Snum,Sname,Smajor,Sgrade,Sbirth;JRadioButton boy,girl;JButton query,print;ButtonGroup group=null;JPanelmessPanel;public QueryStudent()/事件处理public void actionPerfor

39、med(ActionEvent e)public void clearMess()Snum.setText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);DeleteStudent.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public classDeleteStudent extends JPanelimplements ActionListenerprivate sta

40、tic final long serialVersionUID=1L;/删除界面StuBeanqueryStu=new StuBean();StuBeandelStu=new StuBean();咸宁学院计算机科学与技术学院课程设计报告12JTextField Snum,Sname,Smajor,Sgrade,Sbirth;JRadioButton boy,girl;JButton del;ButtonGroup group=null;public DeleteStudent()/处理事件public void actionPerformed(ActionEvent e)if(e.getSou

41、rce()=del|e.getSource()=Snum)String number=;number=Snum.getText();String rs=new String4;rs=queryStu.stuSearch(number);if(rs!=null)String q=该生信息已存在,您想删除该生的基本信息吗?;intyes=JOptionPane.showConfirmDialog(this,q,确认,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(yes=JOptionPane.YES_OPTION)Sname.

42、setText(rs0);Smajor.setText(rs2);Sgrade.setText(rs3);Sbirth.setText(rs4);if(rs1.equals(男)boy.setSelected(true);elsegirl.setSelected(true);String m=确定要删除该学号及全部信息吗?;intok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok=JOptionPane.YES_OPTION)delStu

43、.stuDel(number);elseif(ok=JOptionPane.NO_OPTION)Snum.setText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);elseif(yes=JOptionPane.NO_OPTION)Snum.setText(null);Sname.setText(null);Smajor.setText(null);Sgrade.setText(null);Sbirth.setText(null);elseJOptionPane

44、.showMessageDialog(this,该学号不存在!,警告,JOptionPane.WARNING_MESSAGE);5.系统测试及调试(1)系统主界面咸宁学院计算机科学与技术学院课程设计报告13(2)测试数据及运行学生信息录入界面(3)实际运行结果学生信息查询界面咸宁学院计算机科学与技术学院课程设计报告14学生信息修改界面学生信息删除界面咸宁学院计算机科学与技术学院课程设计报告154.系统测试结论通过测试,系统能正确录入信息到数据库中,能够通过学好正确查找到所录入的学生信息,并且能够成功修改和删除学生信息,系统输出量预期的结果,因此,本系统成功完成了预期的目标和任务。6.用户使用书

45、册在用户正确安装了jdk 及正确设置好环境变量后,用户通过Jcreator 打开MainWindow.java、Stubean.java、InputStudent.java、Database.java、QueryStudent.java、ModifyStuden.java、DeleteStudent.java。编译文件后运行,此时程序运行出现主界面,单击学生管理 录入信息将信息录入到数据库文件中,点击学生管理 查询信息输入学好后可以查询到学生信息,单击学生管理 修改信息输入要修改学生的学号后可以修改学生能够信息,单击学生管理 删除信息可以删除学生信息。单击系统管理-中的退出或右上角关闭按钮退出

46、系统。四.结论和建议通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解和JAVA的运用,初步掌握JAVA开发应用程序的基本方法,学习了对数据库的基本操作,能够对MicrosoftAcess 的表做基本处理,提高了自己综合运用所学知识的能力。懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。其中对JAVA图像用户界面、JAVA 数据库 JDBC的运用、内部匿名类等JAVA知识有了更深的理解与应用。在这个学生管理系统的页面设计中,也有许多的不足,页面设计很简单,但不够精致,这些都需要去完善的。对于这个系统的种种不足之处需要我们更进一步的去完善。其中的不足有待更进一步的弥补,这些都需要在使用发现与修改。五.参考文献【1】耿祥义,张跃平.Java2 实用教程(第三版)清华大学出版社,2006【2】周亚辉.java数据库系统项目开发实践科学出版社,2005【3】苏俊.java程序设计机械工业出版社2005【4】林巧民。java 程序设计教程清华大学出版社2008

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁