版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Java程序设计》结课汇报课程名称JAVA程序设计设计题目学生选课管理系统专业班级学号学生姓名教师信息工程系目录目录 III第1章系统介绍 41.1系统功效 4第2章表设计 52.1系统数据库表结构: 5第3章连接数据库实现 6第4章系统具体设计 74.1 系统登录模块设计 74.2 系统主界面具体设计 114.3 学生管理模块设计 164.4 课程管理模块设计 204.5选课管理模块设计 23答辩统计 27成绩考评表 27学生选课管理系统第1章系统介绍1.1系统功效本系统关键功效:1)管理学生信息,其中包含添加,删除,修改等操作。2)管理课程信息,其中包含添加,删除,修改等操作。3)管理选课信息,其中包含添加,删除,修改等操作。4)查询信息,其中包含查询学生信息,查询课程信息,查询选课信息.。5)维护系统,备份全部表格为Excel格式。1.2系统引用例子书本P237页13.10书本P364页20.5书本P389页20.10书本P387页21.6
第2章表设计2.1系统数据库表结构:在此小节将系统数据库表结构用表形式画出,如:字段名字段类型长度主/外键字段值约束对应汉字名Snonvarchar50PNotnull学号Snamenvarchar50Notnull学生名字表2表2.1学生信息表(S)nvarchar50Notnull学生系别字段名字段类型长度主/外键字段值约束对应汉字名Cnonvarchar50PNotnull课程号Cnamenvarchar50Notnull课程名字表2.2课程信息表(C)表2.2课程信息表(C)字段名字段类型长度主/外键字段值约束对应汉字名Snonvarchar50PNotnull学号Cnonvarchar50PNotnull课程号表2.3选课信息表(SC)C表2.3选课信息表(SC)nvarchar50Notnull分数第3章连接数据库实现此节可简写,可合适贴部分SQLServer数据库连接关键代码,如:ConnectiondbConn=null;try{ Class.forName("net.sourceforge.jtds.jdbc.Driver"); dbConn=DriverManager.getConnection( "jdbc:jtds:sqlserver://localhost:1433/" +"student","sa","123"); }catch(Exceptione){ e.printStackTrace(); } returndbConn;//返回Connection对象第4章系统具体设计 4.1 系统登录模块设计运行效果图 图4.1.1登陆界面图4.1.2登陆成功图4.1.2登陆失败关键代码importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassUserextendsJFrame{privateJLabeluse,password;privateJTextFieldk1;//用户名输入框privateJPasswordFieldk2;//密码输入框privateJButtonb1,b2; //登录窗口 publicUser(JFramef){ super("系统登录"); Containerc=getContentPane(); c.setLayout(newFlowLayout()); use=newJLabel("username:"); use.setFont(newFont("Serif",Font.PLAIN,20)); password=newJLabel("password:"); password.setFont(newFont("Serif",Font.PLAIN,20)); k1=newJTextField(12); k2=newJPasswordField(12); b1=newJButton("登录"); b2=newJButton("退出"); // 设置登录方法 BHandlerb=newBHandler(); EXITd=newEXIT(); b1.addActionListener(b); b2.addActionListener(d); //添加控件 c.add(use); c.add(k1); c.add(password); c.add(k2); c.add(b1); c.add(b2); setBounds(600,300,250,150); setVisible(true); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //主函数 publicstaticvoidmain(String[]args){ Userf1=newUser(newJFrame()); } //登录按钮方法 privateclassBHandlerimplementsActionListener{ publicvoidactionPerformed(ActionEventevent){ if(k1.getText().equals("")||k2.getText().equals("")){ JOptionPane.showMessageDialog(User.this,"用户名密码不能为空!"); } else{ Statementstmt=null; ResultSetrs=null; Stringsql; sql="select*fromadminwhereusername='"+k1.getText()+"'"; try{ ConnectiondbConn1=Conn.CONN(); stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); if(rs.next()){ Stringxm=rs.getString("password"); if(k2.getText().equals(xm.trim())){JOptionPane.showMessageDialog(User.this,"登录成功"); dispose(); newMenu();//管理窗口 } else{JOptionPane.showMessageDialog(User.this,"密码错误");} } else{JOptionPane.showMessageDialog(User.this,"用户名错误");} rs.close(); stmt.close(); } catch(SQLExceptione){ JOptionPane.showMessageDialog(User.this,"SQL错误信息:"+e.getMessage()); } } } } //退出方法结束 privateclassEXITimplementsActionListener{ publicvoidactionPerformed(ActionEventeven){ System.exit(0); } }}//父类结束4.2 系统主界面具体设计 运行效果图 图4.2.1登陆成功后界面图4.2.2学生管理菜单图4.2.2课程管理菜单图4.2.2选课管理菜单图4.2.2查询管理菜单2、实现代码:添加数据时,若碰到必需信息未填写、不能反复信息在数据库中已存在,全部会提醒无法添加及其错误原因。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*; publicclassMenuextendsJFrameimplementsActionListener{ Addstu增加学生界面; Updatastu修改学生界面; Delstu删除学生界面; AddC增加课程界面; DelC删除课程界面; UpdateC修改课程界面; AddSC增加选课界面; DelSC删除选课界面; UpdateSC修改选课界面; Selstu学生查询界面; Backup备份界面; JPanelpCenter; CardLayoutcard=null; JLabellabel=null; JMenuBarmb=newJMenuBar();//菜单栏 JMenum1=newJMenu("学生管理"); JMenuItemadd1=newJMenuItem("①添加学生学籍"); JMenuItemupdata1=newJMenuItem("②更新学生学籍"); JMenuItemdelete1=newJMenuItem("③删除学生学籍"); JMenum2=newJMenu("课程管理"); JMenuItemadd2=newJMenuItem("①增加课程"); JMenuItemupdata2=newJMenuItem("②更新课程"); JMenuItemdelete2=newJMenuItem("③删除课程"); JMenum3=newJMenu("选课管理"); JMenuItemadd3=newJMenuItem("①成绩录入"); JMenuItemupdata3=newJMenuItem("②成绩修改"); JMenuItemdelete3=newJMenuItem("③成绩删除"); JMenum4=newJMenu("查询管理"); JMenuItem学生查询=newJMenuItem("①查询信息"); JMenuItembackup=newJMenuItem("②备份信息"); JMenuItemm5=newJMenuItem("系统退出"); Fontt=newFont("sanerif",Font.PLAIN,12); publicMenu(){ this.setTitle("学生选课管理系统"); try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exceptione){System.err.println("不能设置外观:"+e);} //组合菜单 addMenu1(); addMenu2(); addMenu3(); addMenu4(); addJMenuBar(); setJMenuBar(mb); label=newJLabel("欢迎使用江西理工大学应科院选课管理系统",JLabel.CENTER); label.setFont(newFont("宋体",Font.BOLD,25)); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); //点击事件 add1.addActionListener(this); updata1.addActionListener(this); delete1.addActionListener(this); m5.addActionListener(this); add2.addActionListener(this); delete2.addActionListener(this); updata2.addActionListener(this); add3.addActionListener(this); delete3.addActionListener(this); updata3.addActionListener(this); 学生查询.addActionListener(this); backup.addActionListener(this); card=newCardLayout(); pCenter=newJPanel(); pCenter.setLayout(card); 增加学生界面=newAddstu(); 修改学生界面=newUpdatastu(); 删除学生界面=newDelstu(); 增加课程界面=newAddC(); 删除课程界面=newDelC(); 修改课程界面=newUpdateC(); 增加选课界面=newAddSC(); 删除选课界面=newDelSC(); 修改选课界面=newUpdateSC(); 学生查询界面=newSelstu(); 备份界面=newBackup(); pCenter.add("欢迎界面",label); pCenter.add("增加学生界面",增加学生界面); pCenter.add("修改学生界面",修改学生界面); pCenter.add("删除学生界面",删除学生界面); pCenter.add("增加课程界面",增加课程界面); pCenter.add("删除课程界面",删除课程界面); pCenter.add("修改课程界面",修改课程界面); pCenter.add("增加选课界面",增加选课界面); pCenter.add("删除选课界面",删除选课界面); pCenter.add("修改选课界面",修改选课界面); pCenter.add("学生查询界面",学生查询界面); pCenter.add("备份界面",备份界面); add(pCenter,BorderLayout.CENTER); validate(); setVisible(true); setBounds(400,150,600,380); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(newWindowAdapter(){//关闭程序时操作 publicvoidwindowClosing(WindowEvente){System.exit(0);} }); validate(); } privatevoidaddJMenuBar(){ mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5); } privatevoidaddMenu4(){ m4.add(学生查询); m4.add(backup); m4.setFont(t); } privatevoidaddMenu3(){ m3.add(add3); m3.add(updata3); m3.add(delete3); m3.setFont(t); } privatevoidaddMenu2(){//将菜单加入到菜单栏中 m2.add(add2); m2.add(updata2); m2.add(delete2); m2.setFont(t); } privatevoidaddMenu1(){ m1.add(add1); m1.add(updata1); m1.add(delete1); m1.setFont(t);//字体 } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==m5){System.exit(0);} else{if(obj==add1){ card.show(pCenter,"增加学生界面"); } else{if(obj==updata1){ card.show(pCenter,"修改学生界面"); } else{if(obj==delete1){ card.show(pCenter,"删除学生界面"); } else{if(obj==add2){ card.show(pCenter,"增加课程界面"); } else{if(obj==delete2){ card.show(pCenter,"删除课程界面"); } else{if(obj==updata2){ card.show(pCenter,"修改课程界面"); } else{if(obj==add3){ card.show(pCenter,"增加选课界面"); } else{if(obj==delete3){ card.show(pCenter,"删除选课界面"); } else{if(obj==updata3){ card.show(pCenter,"修改选课界面"); } else{if(obj==学生查询){ card.show(pCenter,"学生查询界面"); } else{if(obj==backup){ card.show(pCenter,"备份界面"); } }} }}}}}}}}}} publicstaticvoidmain(String[]args){ newMenu(); } }4.3 学生管理模块设计 运行效果图图4.3.1添加学生学籍图4.3.1修改学生学籍图4.3.1删除学生学籍实现代码:Addstu.java/Updatastu.java/Delstu.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.awt.event.*;publicclassAddstuextendsJPanelimplementsActionListener{ JTextField学号,姓名,系别; JButton录入; publicAddstu(){ try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exceptione){System.err.println("不能设置外观:"+e);} 学号=newJTextField(12); 姓名=newJTextField(12); 系别=newJTextField(12); 录入=newJButton("录入"); 录入.addActionListener(this); Boxbox1=Box.createHorizontalBox();//横放box Boxbox2=Box.createHorizontalBox Boxbox3=Box.createHorizontalBox Boxbox4=Box.createHorizontalBox box1.add(newJLabel("学号:"/*,JLabel.CENTER*/)); box1.add(学号); box2.add(newJLabel("姓名:"/*,JLabel.CENTER*/)); box2.add(姓名); box3.add(newJLabel("系别:"/*,JLabel.CENTER*/)); box3.add(系别); box4.add(录入); BoxboxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(Box.createVerticalGlue()); JPanelmessPanel=newJPanel(); messPanel.add(boxH); setLayout(newBorderLayout()); add(messPanel,BorderLayout.CENTER); validate(); } publicvoidactionPerformed(ActionEventc){ Objectobj=c.getSource(); if(obj==录入){ if(学号.getText().equals("")||姓名.getText().equals("")||系别.getText().equals("")){ JOptionPane.showMessageDialog(this,"学生信息请填满再录入!"); } Statementstmt=null; ResultSetrs1=null; Stringsql,sql1; sql1="select*fromSwhereSno='"+学号.getText()+"'"; sql="insertintoSvalues('"+学号.getText()+"','"+姓名.getText()+"','"+系别.getText()+"')"; try{ ConnectiondbConn1=Conn.CONN(); stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs1=stmt.executeQuery(sql1); if(rs1.next()){JOptionPane.showMessageDialog(this,"该学号以存在,无法添加");} else{ stmt.executeUpdate(sql); JOptionPane.showMessageDialog(this,"添加成功"); } rs1.close(); stmt.close(); } catch(SQLExceptione){ System.out.print("SQLExceptionoccur.Messageis:"+e.getMessage()); } } }}4.4 课程管理模块设计 运行效果图图4.4.1课程录入界面图4.4.2课程修改界面图4.4.3课程删除界面运行代码:AddC.java/UpdataC.java/DelC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.awt.event.*;publicclassAddCextendsJPanelimplementsActionListener{ JTextField课号,课名; JButton录入; publicAddC(){ try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exceptione){System.err.println("不能设置外观:"+e);} 课号=newJTextField(12); 课名=newJTextField(12); 录入=newJButton("录入"); 录入.addActionListener(this); Boxbox1=Box.createHorizontalBox();//横放box Boxbox2=Box.createHorizontalBox Boxbox3=Box.createHorizontalBox Boxbox4=Box.createHorizontalBox box1.add(newJLabel("课号:")); box1.add(课号); box2.add(newJLabel("课名:")); box2.add(课名); box4.add(录入); BoxboxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(Box.createVerticalGlue()); JPanelmessPanel=newJPanel(); messPanel.add(boxH); setLayout(newBorderLayout()); add(messPanel,BorderLayout.CENTER); validate(); } publicvoidactionPerformed(ActionEventc){ Objectobj=c.getSource(); if(obj==录入){ if(课号.getText().equals("")||课名.getText().equals("")){ JOptionPane.showMessageDialog(this,"学生信息请填满再录入!"); } Statementstmt=null; ResultSetrs=null,rs1=null;//结果集 Stringsql,sql1; sql1="select*fromCwhereCno='"+课号.getText()+"'"; sql="insertintoCvalues('"+课号.getText()+"','"+课名.getText()+"')"; try{ ConnectiondbConn1=Conn.CONN(); stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs1=stmt.executeQuery(sql1); if(rs1.next()){JOptionPane.showMessageDialog(this,"该课号以存在,无法添加");} else{ stmt.executeUpdate(sql); JOptionPane.showMessageDialog(this,"添加成功"); } rs1.close(); stmt.close(); } catch(SQLExceptione){ System.out.print("SQL错误信息:"+e.getMessage()); }}}}4.5选课管理模块设计1、运行效果图图4.5.1成绩录入界面图4.5.2成绩修改界面图4.5.3成绩删除界面2、运行代码:AddSC.java/UpdataSC.java/DelSC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.util.*;importjavax.swing.filechooser.*;importjava.io.*;importjava.awt.event.*;publicclassAddSCextendsJPanelimplementsActionListener{ JTextField课号,学号,成绩; JButton录入; publicAddSC(){ try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());} catch(Exceptione){System.err.println("不能设置外观:"+e);} 课号=newJTextField(12); 学号=newJTextField(12); 成绩=newJTextField(12); 录入=newJButton("录入"); 录入.addActionListener(this); Boxbox1=Box.createHorizontalBox();//横放box Boxbox2 Boxbox3 Boxbox4 box1.add(newJLabel("课号:")); box1.add(课号); box2.add(newJLabel("学号:")); box2.add(学号); box3.add(newJLabel("成绩:")); box3.add(成绩); box4.add(录入); BoxboxH=Box.createVerticalBox();//竖放box boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(Box.createVerticalGlue()); JPanelmessPanel=newJPanel(); messPanel.add(boxH); setLayout(newBorderLayout()); add(messPanel,BorderLayout.CENTER); validate(); } publicvoidac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海关出口报关合同
- 合同采用fidic条文
- 幼儿园《哈哈小孩》教学课件设计
- 煤矿工会管理相关制度汇编
- 农村临时救助申请书3篇
- 路演活动策划方案(共6篇)
- 2024劳动合同保密协议
- 2024车辆汽车买卖合同
- 生物谷解决方案
- 深圳大学《音乐剪辑与制作》2023-2024学年第一学期期末试卷
- 询盘分析及回复
- 氯化工艺安全培训课件
- 指导巡察工作精细科学
- 企业法律知识培训消费者权益保护实务
- 快乐读书吧-读后分享课:《十万个为什么》教学案列
- 2024年 贵州茅台酒股份有限公司招聘笔试参考题库含答案解析
- 河上建坝纠纷可行性方案
- 第五单元学雷锋在行动(教案)全国通用五年级下册综合实践活动
- 2024年华融实业投资管理有限公司招聘笔试参考题库含答案解析
- 2024年1月普通高等学校招生全国统一考试适应性测试(九省联考)历史试题(适用地区:贵州)含解析
- 儿童心理健康问题的评估与干预方案
评论
0/150
提交评论