java课程设计报告选修课管理系统_第1页
java课程设计报告选修课管理系统_第2页
java课程设计报告选修课管理系统_第3页
java课程设计报告选修课管理系统_第4页
java课程设计报告选修课管理系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1项目背景错误!未定义书签。2用例图错误!未定义书签。3类图54界面设计64.1 系统界面64.2 功能界面66源程序5数据库设计错误!未定义书签。错误!未定义书签。6.1 Student类错误!未定义书签。6.25 tudentJFrame类错误!未定义书签。6.26 ddJFrame类错误!未定义书签。6.27 QueryJFrame类错误!未定义书签。6.28 ancelJFrame类错误!未定义书签。6.29 odifyJFrame类错误!未定义书签。6.30 aoFactory类错误!未定义书签。6.85 tudentDao类错误!未定义书签。6.86 StudentDaoJDBCI

2、mpl类错误!未定义书签。7总结6.87 MsSqlHelper类错误!未定义书签。错误!未定义书签。1项目背景本设计的目的是综合面向对象程序设计课程中所学到的知识来开发一个小型的Java应用程序-选修课管理系统。本项目是选修课管理系统的一个子模块,主要功能是对学生的信息进行管理,如:插入一条学生的信息、删除学生信息、修改学生信息、查询学生信息。本项目使用JavaSwing技术,数据库采用SQLServer2000,本项目的开发和测试都是在Windows平台下进行的,但由于Java的跨平台性,本系的移植性很强,也适用于其它主流的操作系统。本项目的开发工具是MyEclipse,连接数据库SQLS

3、erver2000来完成一个小的学生选修课管理系统中的学生信息管理模块。2用例图图2.1用例图功能级川例描述一一添加学生信息描述项说明用例名称添加学生信息用例简述管理员添加学生的基本信息用例图4一前置条件管理员已成功登入后置条件学生信息被添加基本操作流程1输入“学生姓名”,2点击“提交”按钮3“成功添加”点击“学生学号,,“学生年龄”,选择“学生性别”“确定”或关闭窗口则返回主页面替代流程无功能级用例描述一一查询学生信息描述项说明用例名称查询学生信息用例简述管理员查询学生的基本信息功能级用例描述一一修改学生信息功能级用例描述一一-删除学生信息描述项说明用例名称删除学生信息用例简述管理员删除学生

4、的基本信息用例图(学生曲总皆好素统)L、a一(NM除学生伍口)前置条件管理员已成功查询所需修改学生信息后置条件学生信息被删除基本操作流程1输入需删除的“学生学号”2点击“删除”按钮3“删除成功”点击“确定”或关闭窗口则返回主页而替代流程无3类图t-,a-aMQiSTM31HB(MUlLFllM,.MQJU.山fm 3jUU 1sj- H,»/*w*a2a.ojimi 21,&iwrfMm,W-3£11上女.,一图3.1类图4界面设计4.1 系统界面进入学生信息管理系统,将会看到以下的窗口,如4.1所示:图4.1主界面4.2 功能界面在学生信息管理系统里而可以实现插入

5、一条学生的信息、删除学生信息、修改学生信息、查询学生信息的功能,插入功能,能新插入一条学生信息,包括学生的学号和姓名,性别和年龄,如下图4.2图4.2插入一条学生信息修改功能:能修改一个学生的姓名。如下图4.3图4.3修改一个学生信息删除功能:能根据一个学生的学号来删除一个学生的信息。如下图4.6图4.4删除一个学生信息查询功能:能通过一个学生的学号来查询某一个学生,如下图4.5图4.5查询一个学生信息删除学生信息后的数据库的一个截图如下4.6:图4.6数据库5数据库设计列名数据类型长度允许空|遐studentNointchar410studentNamechar10stulentSexstu

6、lentkgecharini10476源程序6.1Student类信管071郑胜楠36packagedomain;publicclassStudent/student类用五个实例变量来描述privateIntegerstudcntld;privateIntegestudentNo;privateStringstudentName;privateStringstudentSex;privateintstudentAge;建立构造器,因需studentld自动生成,所以写三个构造器publicStudentOsuper();)publicStudent(IntegerstudentIdMInteg

7、estudentNo,StringstudentName,StringstudentSex,intstudentAge)super();this.studentld=studcntld;this.studcntNo=studentNo;this.studentName=studentName;this.studentSex=studentSex;this.studcntAge=studentAge;)publicStudent(IntegestudentNo,StringstudentName.StringstudentSexjntstudentAge)super();this.studcnt

8、No=studentNo;this.studentName=studentName;this.studentSex=studentSex;this.studcntAge=studentAge;)publicStringgetStudentSexOreturnstudentSex;)publicvoidsetStudentSex(StringstudentSex)this.studcntSex=studentSex;)publicIntegergetStudentldOreturnstudcntld:)publicvoidsetStudentId(Integerstudcntld)this.st

9、udcntld=studentld;)publicStringgetStudentNo()returnstudentNo;)publicvoidsetStudentNo(IntegestudentNo)this.studcntNo=studentNo;)publicStringgetStudcntNameOreturnstudcntName:)publicvoidsetStudentName(StringstudentName)this.studentName=studentName;)publicintgetStudentAgeOreturnstudcntAge;)publicvoidset

10、StudentAge(intstudcntAge)this.studcntAge=studentAge;)©OverridepublicStringtoStringO/TODOAuto-generatedmethodstubreturnT+this.studcntld+”J+this.studcntNo+”J+this.studentName+”J+this.studentSex+M;'+this.studentAge+;)6.2StudentJFrame类第一个界而(主界而)的建立信管071郑胜楠36packagejframe;import;import;import;im

11、port;import;import;import;import;import;publicclassStudentJFrameextendsprivateJPaneltitlcPanel;privateJLabeltitleLabel;privateJButton(Button1;privateJButtonjButton4;privateJButtonjButton3;privateJButtonjButton2;privateJPanelmainPanel;publicstaticvoidmain(Stringargs)SwingUtilities.invokeLater(newRunn

12、ableOpublicvoidrun()StudentJFrameinst=newStudentJFrameO;inst.setLocationRelativeTo(null);inst.setVisible(true);)江)publicStudentJFrameOsuper("学生选修课管理系统)initGUIO;)privatevoidinitGUIOsetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);getContentPane().setForeground(new,0,255);(标题PaneltitleP

13、anel=newJPanel();getContentPane().add(titlcPaneI,BorderLayout.NORTH);titlePanel.setPreferredSize(ncw,91);(titleLabel=newJLabel();titlePanel.add(titleLabcl);titleLabel.setText(Mu6b22u8fceu8fdbu5165u5b66u751fu9009u4feeu8bfeu7balu7406u7cfbu7edfr);titleLabel.setPreferrcdSize(new,68);titleLabel.setFont(n

14、ewJ8);titlcLabel.setForeground(new,0,255);)(选择PanelmainPanel=newJPanelO;getContentPane().add(mainPaneLBorderLayout.CENTER);mainPanel.setPreferredSize(new,173);(/“添加”按钮jButtonl=newJButtonO;mainPanel.add(jButton1);jButton1.setText(Hu6dfbu52aOn);jButtonl.setPreferrcdSize(new,36);jButton1.setFont(new”微软

15、雅黑1.14);jButtonl.setForeground(new,255,0);jButtonl.setBackground(new,128,128);注册“添加”按钮的监听器,进行两个界而间的转换jButton1.addActionListener(newpublicvoidactionPerformed(evt)'JButton1.actionPerformed,event=M+cvt);/TODOaddyourcodeforjButton1.actionPerformcdAddJFrameadd=newAddJFrameO;);)“查找”按钮jButton2=newJButt

16、onO;mainPanel.add(jButton2);jButton2.setText(Hu67e5u627e,r);jButton2.setBackground(newJ28.128);jButton2.setFont(new”微软雅黑”,1,14);jButton2.setForeground(new,255,0);jButton2.setPreferrcdSize(new,37);注册“查询”按钮的监听器jButton2.addActionListener(newActionListenerOpublicvoidactionPerfornicd(ActionEventevt)HjBut

17、ton2.actionPerformcd,event=H+cvt);/TODOaddyourcodeforjButton2.actionPerformedQuer5'JFramequery=newQuer>rJFrame();*);(/“修改”按钮jButton3=newJButtonO;mainPanel.add(jButton3);jButton3.setText(Mu4fceu6539M);jButton3.setBackground(newJ28J28);jButton3.setFont(new”微软雅黑1.14);jButton3.setForeground(ncw,2

18、55,0);jButton3.setPreferredSize(new,36);jButton3.addActionListener(newActionListenerOpublicvoidactionPerformcd(ActionEventevt)HjButton2.actionPerfonncd,event=H+cvt);/TODOaddyourcodeforjButton2.actionPerformcdModifyJFrameinj=newModifyJFrameO;nij.setVisible(tnie););)(“删除”按钮jButton4=newJButtonO;mainPan

19、el.add(jButton4);jButton4.setText(Hu5220u9664H);jButton4.setBackground(newJ28,128);jButton4.setFont(new”微软雅黑”,1.14);jButton4.setForeground(new,255,0);jButton4.setPreferrcdSize(new,37);|Button4.addActionListener(newActionListenerOpublicvoidactionPerformcd(ActionEventevt)HjButton4.actionPerfonned,even

20、t=H+cvrt);/TODOaddyourcodeforjButton4.actionPerformcdCancelJFramecjf=newCancelJFrame();*9cjf.setVisible(tnie););)pack();setSize(400,300);catch(Exceptione)e.printStackTrace();)6.3AddJFrame类用于添加学生信管071郑胜楠36packagejframe;import;import;import;import;import;import;import;import;import;import;import;impor

21、t;import;import;import;import;import;import;import;importdao.DaoFactory;importdomain.Student;publicclassAddJFrameextendsimplementsItemListencrprivateJPaneltitlcPanell;privateJLabeljLabc!2;privateJButtonfqButtonl;privateJButtontjButtonl;privateJLabeltitleLabell;privateJTextFieldjTextField1;privateJLa

22、belsexLabell;privateJLabelnoLabel1;privateJTextFieldnoTextField1;privateJTextFieldnameTextField1;privateJLabelnameLabell;privateJPanelsouthPanel1;privateJPanelmainPanell;privateJPaneleastPanel1;privateJPanelwestPancll;privateJRadioButtonmanRadioButtonl;privateJRadioButtonwomenRadioButton1;privateJLa

23、belkongLabel3:privateStringsex;publicstaticvoidmain(Stringargs)SwingUtilities.invokeLater(newRunnableOpublicvoidrun()AddJFrameinst=newAddJFrame();inst.setLocationRelativeTo(null);inst.setVisible(true););)publicAddJFrameOsuper("添加学生信息”);initGUIO;this.setVisible(true);privatevoidinitGUIOtrysetDef

24、aultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);(titlePanell=newJPanel();getContentPane().add(titlcPanell,BordcrLayout.NORTH);titlePanell.setPrefenedSize(new,65);(titleLabell=newJLabel();titlcPanel1.add(titleLabel1);titleLabel1.setText(*'u8bf7u8f93u5165u5b66u751fu4felu606fr);titleLabell.set

25、PreferredSize(new,34);titleLabel1.setFont(new”微软雅黑”,0.16);)(东,西两块空panel,美观作用westPanel1=newJPanelO;getContentPane().add(westPanel1,BorderLayout.WEST):westPanel1.setPreferrcdSize(new,211);)(eastPanell=newJPanel();getContentPane().add(eastPanell,BordcrLayout.EAST);eastPanell.setPreferredSize(new,169);)

26、(southPane11=newJPancIO;getContentPane().add(southPanel1,BorderLayout.SOUTH);southPanell.setPreferredSize(new,70);(提交按钮tjButtonl=newJButtonO;southPanel1.add(tjButton1);tjButtonl.setText(Hu63dOu4ca4n);tjButton1.setPreferredSize(new,27);tjButtonLsetFont(new”微软雅黑,14);注册“提交”按钮监听器tjButton1.addActionListe

27、ner(newActionListenerOpublicvoidactionPerformed(ActionEventevt)HtjButton1.actionPcrformed.event=u+evt);/TODOaddyourcodefortjButton1.actionPcrformed把添加的信息传给DaoFactory中getStudentDao里的addStudcnt方法中的相应参数Studentstudent=newStudentO;student.setStudentName(nameTextFieldl.getlextO);student.setStudentNo(Integ

28、er.parseInt(nolextFieldl.getText();studcnt.setStudentSex(sex);studcnt.setStudentAge(Integer.parseInt(jTextFieldl.getText();”*“+nameTextFieldl.getText();起测试作用try(DaoFactory.getInstance().getStudentDao().addStudent(studcnt);catch(Exceptione)e.printStackTrace();)成功添加提示JOptionPane.showMessageDialog(nulL

29、"成功添加“J",JOptionPane.INFORMATION.MESSAGE););)(空label用来调提交和放弃按钮的距离,美观作用kongLabe13=newJLabel();southPanel1.add(kongLabe13);kongLabeI3.setPreferredSize(new,9);)放弃按钮fqButtonl=newJButtonO;southPanel1.add(fqButton1);fqButtonl.setText(Hu653eu5fO3,r);fqButtonl.setFont(new”微软雅黑”,1,14);fqButtonl.set

30、PreferredSize(new,27);注册“放弃”按钮的监听器,重回主界面fqButton1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventevt)“fqButton1.actionPcrformed.event=H+evt);/TODOaddyourcodeforfqButtonl.actionPerfonnedStudentJFramesjf=newStudentJFrameO;sjf.setVisible(true););)(mainPanell=newJPanelO;getCon

31、tentPane().add(mainPaneI1.BordcrLayout.CENTER);ButtonGroupbgp=newButtonGroupO;mainPanel1.setPreferredSize(new,170);(姓名标签和文本框nameLabell=newJLabclO;mainPanel1.add(nameLabel1);nameLabel1.setText(Hu59d3u540dH);nameLabel1.setPrefeiTedSize(new,38);nameLabel1.setFont(new”微软雅黑*0,14);)(nameTextFieldl=newJTcx

32、tFieldO;mainPanel1.add(nameTextField1);nameTextFieldl.setPrcferredSize(new,34);)(学号标签和文本框noLabel1=newJLabelO;mainPanel1.add(noLabel1);noLabel1.setText("u5b66u53f7”);noLabell.setFont(new”微软雅黑”,0,14);noLabel1.setPreferredSize(new,19);)(noTextFieldl=newJTextField();mainPanel1.add(noTextField1);noT

33、extFieldl.setPreferredSize(new,31);)(性别标签sexLabel1=newJLabelO;mainPanel1.add(sexLabel1);sexLabel1.setText(Hu6027u522bH);sexLabel1.setFont(new”微软雅黑",044);sexLabel1.setPreferredSize(new,22);)”男女“单选框的设置manRadioButtonl=newJRadioButtonO;mainPanel1.add(manRadioButton1);bgp.adddnanRadioButton1);把单选框加到

34、ButtonGroup中manRadioButtonl.setText(Hu7537M);manRadioButtonl.setPreferredSize(new,23);manRadioButton1.addltemListener(this);)(womcnRadioButton1=newJRadioButtonO;mainPanel1.add(womenRadioButton1);bgp.add(womcnRadioButton1);把单选框加到ButtonGroup中womcnRadioButtonl.setText(Hu5973n);womcnRadioButton1.setPref

35、erredSize(new,22);womcnRadioButtonl.addltemListener(this);)年龄标签和文本框jLabe!2=newJLabelO;mainPanel1.add(jLabe12);jLabel2.setText(Mu5e74u9f84H);jLabel2.setFont(new”微软雅黑”,0,14);jLabe!2.setPreferredSize(new,22);)(jTextField1=newJTextFieldO;mainPanel1.addfjTextField1);jTextFieldl.setPreferredSize(new,31);)

36、pack();pack();)catch(Exceptione)e.printStackTrace();)设置单选框所选内容以备“性别”的监听器把内容返回给数据库publicvoiditemStateChanged(ItemEvente)/TODOAuto-generatcdmethodstubif(manRadioButtonl.isSelected()sex="男";)if(womenRadioButton1.isSelected()sex="女";)6.4QueryJFrame类用于查询学生packagejframe;import;import;i

37、mport;import;import;import;import;import;import;import;import;importdao.DaoFactory;importdomain.Student:publicclassQueryJFrameextendsprivateJPaneltitlcPanel2;privateJButtonqdButton2;privateJTextFieldnoTextField2;privateJLabelageLabc!2;privateJTextFieldageTextField2;privateJTextFieldsexTextField2;pri

38、vateJButtonbacdButton2;privateJPanelbackPane!2;privateJLabelsexLabe!2;privateJTextFieldnameTextField2;privateJLabelnanieLabel2;privateJLabelqueryLabe!2;privateJPanelmainPane!2;privateJLabelqueryLabel;*Auto-generatedmainmethodtodisplaythisJFrame*/publicstaticvoidmain(Stringargs)SwingUtilities.invokeL

39、ater(newRunnableOpublicvoidrun()Quer)rJFrameinst=newQuerjJFrameO;inst.setLocationRelativeTo(null);inst.setVisible(true););)publicQueryJFrameOsuper("查找)initGUIO;this.setVisible(true);)privatevoidinitGUIOtrysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);(标题块,提示titlcPane12=newJPanel();

40、getContentPane().add(titlcPanel2,BordcrLayout.NORTH);titlePaneI2.setPreferredSize(new,58);(quer)rLabcl=newJLabelO;titlcPane12.add(queryLabel);queryLabel.setText(Hu8bf7u8f93u5165u8981u67e5u627eu7684u5b66u751fu5b66u53f7");quer)rLabel.setPreferredSize(new,70);queryLabeLsetFont(new”微软雅黑”,0,14);)(输入

41、要查找的学生学号noTextField2=newJTextField();titlePane12.add(noTextField2);noTextField2.setPreferredSize(new,33);)(查询qdButton2=newJButtonO;titlePanel2.add(qdButton2);qdButton2.setText(Hu786eu5b9aH);qdButton2.setPreferredSize(new,35);qdButton2.setFont(new”微软雅黑”,1,14);查询监听器qdButton2.addActionListener(newActio

42、nListenerOpublicvoidactionPerformcd(ActionEventevt)HqdButton2.actionPerformed.event=M+evt);/TODOaddyourcodeforqdButton2.actionPcrformedintstudentNo=Integer.parseInt(noTextField2.getText()y/转化类型Studentstudent=newStudentO;try(从Factory中调用StudentDao中的通过学号查找方法查询学生studcnt=DaoFactory.getInstance().getStude

43、ntDao().seIectByStudentNo(studentNo);把从数据库中返回的内容传给文本框nanieTextFieId2.setTcxt(studcnt.getStudentName();sexTextFieId2.setText(student.getStudentSex();ageTextField2.setText(,M,+student.getStudentAge();catch(Exceptione)/TODOAuto-generatedcatchblocke.printStackTraceO;);)(查询结果界而mainPanel2=newJPanel();getC

44、ontentPane().add(mainPane!2.BorderLayout.CENTER);niainPane12.setPrefeiTedSize(new,160);(quer)rLabeI2=newJLabelO;mainPanel2.add(qucryLabel2);quer)rLabel2.setText(Hu60a8u6240u67e5u627eu7684u5b66u751fu4felu606fH);quer)rLabc!2.setPreferredSize(new,37);queryLabel2.setFont(new”微软雅黑"04);quer)rLabc!2.s

45、etForeground(new,0255);)nameLabel2=newJLabelO;mainPanel2.add(nameLabel2);nameLabel2.setText(Hu59d3u540dH);nameLabel2.setPreferredSize(new,17);nameLabel2.setFont(new”微软雅黑”,0.14);)(nameTextField2=newJTextField();mainPanel2.add(namcTextFieId2);nameTextField2.setPreferredSize(new,32);)(sexLabeI2=newJLab

46、elO;mainPanel2.add(sexLabel2);sexLabel2.setText(Mu6027u522bH);sexLabc12.setFont(new”微软雅黑”,0,14);sexLabc!2.setPreferredSize(new,17);)(sexTextField2=newJTextFieldO;mainPanel2.add(sexTextField2);sexTextField2.setPreferrcdSize(new,32);)(ageLabel2=newJLabelO;mainPanel2.add(ageLabcl2);ageLabel2.setText(Hu

47、5e74u9f84M);ageLabel2.setFont(new”微软雅黑”,0,14);ageLabe!2.setPreferredSize(new,17);)(ageTextFieId2=newJTextFieldO;mainPanel2.add(ageTextField2);ageTextField2.setPreferredSize(new,32);)(返回界而backPane12=newJPanelO;getContentPane().add(backPanel2,BorderLayout.SOUTH);backPane12.setPreferredSize(new,38);(ba

48、cdButton2=newJButtonO;backPane12.add(bacdButton2);bacdButton2.setText(nu8fd4u56deH);bacdButton2.setPreferredSize(new,28);bacdButton2,setFont(new”微软雅黑;1,14);bacdButton2.addActionListener(newActionListenerOpublicvoidactionPerformcd(ActionEventevt),'bacdButton2.actionPerformed,event=,+evt);/TODOadd

49、yourcodeforbacdButton2.actionPerformedStudentJFramesjf=newStudentJFrame();sjf.setVisible(true););)pack();setSize(400,300);catch(Exceptione)e.printStackTrace();)6.5CancelJFrame类信管071郑胜楠36packagejfranie;import;import;import;import;import;import;import;import;import;import;importdao.DaoFactory;publiccl

50、assCancelJFrameextendsprivateJPaneltitlePaneB;privateJTextFieldnoTextField3:privateJPanelmainPane!3;privateJLabeljLabel1;privateJButtonbackButton3;privateJButtonqdButton3;/*Auto-generatedmainmethodtodisplaythisJFrame*/publicstaticvoidmain(Stringargs)SwingUtilities.invokeLater(newRunnableOpublicvoidr

51、un()CancelJFramcinst=newCancelJFrameO:inst.setLocationRelativeTo(nuIl);inst.setVisible(true);)江)publicCancelJFrameOsuper("删除学生信息)initGUIO;)privatevoidinitGUIOtrysetDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);(提示输入要删除的学生学号界而titlePane13=newJPanel();getContentPane().add(titlcPanel3,Bor

52、dcrLayout.NORTH);titlePanel3.setPrefeiTedSize(new,118);(jLabell=newJLabelO;titlePane13.add(jLabel1);jLabel1.setText(Hu8bf7u8f93u5165u898lu5220u9664u5b66u75Ifu7684u5b66u53f7,r)jLabel1.setPreferredSize(new,21);jLabell.setFont(new,SimSunMA16);)()(noTextField3=newJTextField();titlePancl3.add(noTcxtField

53、3);noTextFieId3.setPreferredSize(new,33);)(确定删除按钮和返回按钮niainPane13=newJPanelO;getContentPane().add(mainPanel3.BorderLayout.CENTER);mainPanel3.setPrcfeiTedSize(new,204);(qdButton3=newJButtonO;mainPanel3.add(qdButton3);qdButton3.setText("u5220u9664");qdButton3.setFont(new”微软雅黑”,1,14);qdButton3.setPreferredSize(new35);设置删除按钮的监听器qdButton3.addActionListener(newActionListenerOpublicvoidactionPerformcd(ActionEvente

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论