欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    计算机语言Java课程设计学籍管理系统.doc

    • 资源ID:2387633       资源大小:152KB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机语言Java课程设计学籍管理系统.doc

    课程设计说明书名称 计算机语言Java课程设计 学籍管理系统 2011年 6月20日至 2011年 6月26日共 1 周院 系 计算机工程系 班 级 10软件技术(外包)1班 姓 名 系主任 教研室主任 指导教师 目录:1 系统概述11.2流程图11.2 系统开发工具与环境22 系统设计22.1 系统概要设计22.2统详细设计33系统的调试174课程设计心得185 参考文献191 系统概述1.1 系统功能1学籍管理系统主界面模块ManagerWindow类负责创建学籍管理系统的主窗口,该类含有main方法,程序从该类开始执行。ManagerWindow类的成员变量中有4种重要类型的对象:InputStudent,Inquest,ModifySitation和Delete对象。ManagerWindow类的主要成员的作用将在后面详细阐述,ManagerWindow类创建的窗口及其中的主要对象2学籍管理系统Student模块Student类所创建的对象是InputStudent类的成员之一,负责封装学生的基本信息。3学籍管理系统StudentPicture模块StudentPicture类所创建InputStudent,Inquest,DeleteModifySitation类的成员变量之一,负责显示学生的照片。4学籍管理系统InputStudent模块InputStudent类创建的对象是ManagerWindow类的重要成员之一,负责提供录入学生基本信息的界面5学籍管理系统Inquest模块 Inquest类创建的对象是ManagerWindow类的重要成员之一,负责提供查询学生基本信息及打印基本信息的界面。6学籍管理系统ModifSituation模块 ModifSituation类创建的对象是ManagerWindow类的要成员之一,负责提供修改学生基本信息的界面。7学籍管理系统Delete模块Delete类创建的对象是ManagerWindow类的重要成员之一,负责提供删除学生基本信息的界面1.2流程图启动程序学生信息录入系统主界面学生信息查询学生信息修改学生信息删除显示学生照片学生信息封装退出系统1.2 系统开发工具与环境开发工具 Eclipse 软件环境ü 开发语言:Java、J2SEü 操作系统:Windows XP硬件方面: ü 处理器:Intel Pentium 166MX 或更高。ü 内存:512M以上。ü 硬盘空间:200M以上。2 系统设计2.1 系统概要设计1录入学生基本信息功能的界面。用户可以通过菜单选项让程序呈现录入学生基本信息功能的界面,通过该界面可以录入学生的学号,姓名,性别,出生日期,专业和照片等信息。2修改学生基本信息的功能界面。用户可以通过菜单选项让程序呈现“修改学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行修改。3查询与打印学生基本信息功能的界面,用户可以通过菜单选项让程序呈现出“查询与打印学生基本信息”功能的界面,通过该界面可以对以录入的学生信息进行查询和打印。4删除学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“删除学生基本信息”功能的界面,通过该界面可以删除已录入的学生信息。2.2统详细设计2.2.1 ManagerWindow类 该类是javax.swing包中的一个子类,并实现了ActionListener接口,标明该类的主要成员变量和方法的UML图如图4-1所示1)成员变量基本信息录入是InputStudent对象,负责提供录入信息的界面。基本信息修改时ModifySituation对象,负责提供修改信息的界面。基本信息查询与打印时Inquest对象,负责提供查询与打印信息的界面。基本信息删除时HashMap<String,Student>创建的散列映射,用于存储键。file是File文件对象,程序将基本信息散列映射写入该文件中。录入,修改,查询,删除,欢迎界面是JMenuItem创建的菜单项。2)方法ManagerWindow()是构造方法,负责完成窗口的初始化。actionPerformed(ActionEvent)方法是ManagerWindow类实现的ActionListener接口中的方法main方法是程序运行的入口方法public class ManagerWindow extends JFrame implements ActionListener InputStudent 基本信息录入; ModifySituation 基本信息修改; Inquest 基本信息查询与打印; Delete 基本信息删除; JMenuBar bar; JMenu fileMenu; JMenuItem 录入,修改,查询与打印,删除,欢迎界面; HashMap<String,Student> 基本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public ManagerWindow() 录入=new JMenuItem("录入学生基本信息"); 修改=new JMenuItem("修改学生基本信息"); 查询与打印=new JMenuItem("查询与打印学生基本信息"); 删除=new JMenuItem("删除学生基本信息"); 欢迎界面=new JMenuItem("欢迎界面"); bar=new JMenuBar(); fileMenu=new JMenu("菜单选项"); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询与打印); fileMenu.add(删除); fileMenu.add(欢迎界面); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel("学籍管理系统",JLabel.CENTER); label.setIcon(new ImageIcon("welcome.jpg"); label.setFont(new Font("隶书",Font.BOLD,36); label.setHorizontalTextPosition(SwingConstants.CENTER); label.setForeground(Color.red); 基本信息=new HashMap<String,Student>(); 录入.addActionListener(this); 修改.addActionListener(this); 查询与打印.addActionListener(this); 删除.addActionListener(this); 欢迎界面.addActionListener(this); card=new CardLayout(); pCenter=new JPanel(); pCenter.setLayout(card); file=new File("基本信息.txt"); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息); objectOut.close(); out.close(); catch(IOException e) 基本信息录入=new InputStudent(file); 基本信息修改=new ModifySituation(file); 基本信息查询与打印=new Inquest(file); 基本信息删除=new Delete(file); pCenter.add("欢迎界面",label); pCenter.add("录入界面",基本信息录入); pCenter.add("修改界面",基本信息修改); pCenter.add("删除界面",基本信息删除); add(pCenter,BorderLayout.CENTER); validate(); setVisible(true); setBounds(100,50,460,280); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) int n=JOptionPane.showConfirmDialog(null,"确认退出吗?","确认对话框", JOptionPane.YES_NO_OPTION ); if(n=JOptionPane.YES_OPTION) System.exit(0); ); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=录入) 基本信息录入.clearMess(); card.show(pCenter,"录入界面"); else if(e.getSource()=修改) 基本信息修改.clearMess(); card.show(pCenter,"修改界面"); else if(e.getSource()=查询与打印) 基本信息查询与打印.clearMess(); 基本信息查询与打印.setLocation(getBounds().x+getBounds().width,getBounds().y); 基本信息查询与打印.setVisible(true); else if(e.getSource()=删除) card.show(pCenter,"删除界面"); else if(e.getSource()=欢迎界面) card.show(pCenter,"欢迎界面"); public static void main(String args) new ManagerWindow(); 运行效果如下图所示:.2.2.2 Student类 创建的类对象“学生”是InputStudent的重要成员之一,负责处理和学生有关的数据。标明Student类的主要成员变量和方法以及InputStudent类之间的组合1)成员变量number,name,discipling,grade,borth和sex是String对象,他们的值分别表示学生的学号,姓名,专业,年级,出生日期,性别。imagePic是File对象,用来存放学生的照片图像的引用。2)方法setNumber(String)和getNumber()方法分别用来设置number和获取number。setImagePic和getImagePic()方法分别用来设置imagePic和获取它的值。源代码:public class Student implements Serializable String number,name,discipling,grade,borth,sex; File imagePic; public void setNumber(String number) this.number=number; public String getNumber() return number; public void setName(String name) this.name=name; public String getName() return name; public void setDiscipling(String discipling) this.discipling=discipling; public String getDisciping() return discipling; public void setGrade(String grade) this.grade=grade; public String getGrade() return grade; public void setBorth(String borth) this.borth=borth; public String getBorth() return borth; public void setSex(String sex) this.sex=sex; public String getSex() return sex; public void setImagePic(File image) imagePic=image; public File getImagePic() return imagePic; 运行效果如下图所示:2.2.3 InputStudent类InputStudent类是javax.swing包中JPanel容器的子类,并实现了ActionListener接口,所创建的对象,基本信息录入是ManagerWiodow类中的最重要成员之一,负责提供录入学生信息的界面。表明Inputstudent类的主要成员变量,方法和ManagerWindow类组合关系1)成员变量学生是Student创建的对象,该对象含有核学生有关的数据。pic是StudentPicture创建的对象,负责绘制学生的照片。录入,重置和选择照片是JButton创建的对象,这些按钮都将当前容器注册为自己的ActionEvent事件监视器。2)方法InputStudent(File)是构造方法,用来创建基本信息录入对象,当创建对象时,通过该构造方法的参数将ManagerWindow类中的file的引用传递给systemFile.actionPerformed(ActionEvent)方法是Inputstudent类实现接口中的方法。InputStdent创建的容器是录入,重置,选择照片按钮时,容器将执行action Performed(ActionEvent)方法进行相应的操作。运行效果如下图所示:源代码:public class InputStudent extends JPanel implements ActionListener Student 学生=null; StudentPicture pic; HashMap<String,Student> 基本信息表=null; JTextField 学号,姓名,年级,出生; JButton 选择照片; JComboBox 专业; JRadioButton 男,女; ButtonGroup group=null; JButton 录入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File systemFile,imagePic; public InputStudent(File file) systemFile=file; pic=new StudentPicture(); 学号=new JTextField(5); 姓名=new JTextField(5); 专业=new JComboBox(); try FileReader inOne=new FileReader("专业.txt"); BufferedReader inTwo= new BufferedReader(inOne); String s=null; int i=0; while(s=inTwo.readLine()!=null) 专业.addItem(s); inOne.close(); inTwo.close(); catch(IOException exp) 专业.addItem("数学"); 专业.addItem("计算机科学与技术"); 年级=new JTextField(5); 出生=new JTextField(5); 选择照片=new JButton("选择"); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 录入=new JButton("录入"); 重置=new JButton("重置"); 录入.addActionListener(this); 选择照片.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("学号:",JLabel.CENTER); box1.add(学号); Box box2=Box.createHorizontalBox(); box2.add(new JLabel("姓名:",JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel("性别:",JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel("专业:",JLabel.CENTER); box4.add(专业); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("年级:",JLabel.CENTER); box5.add(年级); Box box6=Box.createHorizontalBox(); box6.add(new JLabel("出生:",JLabel.CENTER); box6.add(出生); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue(); JPanel picPanel=new JPanel(); picPanel.setBackground(Color.green); picPanel.add(new JLabel("选择照片:",JLabel.CENTER); picPanel.add(选择照片); JPanel putButton=new JPanel(); putButton.add(录入); putButton.add(重置); JPanel messPanel=new JPanel(); messPanel.add(boxH); messPanel.setBackground(Color.cyan); putButton.setBackground(Color.red); setLayout(new BorderLayout(); JSplitPane splitV= new JSplitPane(JSplitPane.VERTICAL_SPLIT,picPanel,pic); JSplitPane splitH=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,messPanel,splitV); add(splitH,BorderLayout.CENTER); add(putButton,BorderLayout.SOUTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=录入) String number="" number=学号.getText(); if(number.length()>0) try inOne=new FileInputStream(systemFile); inTwo=new ObjectInputStream(inOne); 基本信息表=(HashMap<String,Student>)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String warning="该生基本信息已存在,请到修改页面修改!" JOptionPane.showMessageDialog(this,warning,"警告", JOptionPane.WARNING_MESSAGE); else String m="基本信息将被录入!" int ok=JOptionPane.showConfirmDialog(this,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=(String)专业.getSelectedItem(); String grade=年级.getText(); String borth=出生.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); 学生=new Student(); 学生.setNumber(number); 学生.setName(name); 学生.setDiscipling(discipling); 学生.setGrade(grade); 学生.setBorth(borth); 学生.setSex(sex); 学生.setImagePic(imagePic); try outOne=new FileOutputStream(systemFile); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,学生); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); clearMess(); Catch(Exception ee) else String warning="必须要输入学号!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); else if(e.getSource()=选择照片) JFileChooser chooser=new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter( "JPG & GIF Images", "jpg", "gif"); chooser.setFileFilter(filter); int state=chooser.showOpenDialog(null); File choiceFile=chooser.getSelectedFile(); if(choiceFile!=null&&state=JFileChooser.APPROVE_OPTION) 选择照片.setText(choiceFile.getName(); imagePic=choiceFile; pic.setImage(imagePic); pic.repaint(); else if(e.getSource()=重置) clearMess(); public void clearMess() 学号.setText(null); 姓名.setText(null); 年级.setText(null); 出生.setText(null); 选择照片.setText("选择"); imagePic=null; pic.setImage(imagePic); pic.repaint(); 2.2.4 ModifySituation类 ModifySituation类是javax.swing包中JPanel容器的子类,并实现了ActionListener接口,所创建的对象:基本信息查询时ManagerWindow类中最重要的成员之一,负责提供修改学生信息的界面。标明ModifySituation类的主要成员变量,方法以及和ManagerWindow类之间组合关系。1)成员变量pic是StudentPicture创建的对象,负责绘制学生的照片。录入,重置和选择照片是JButton创建的对象,这些按钮都将当前容器注册为自己的ActionEvent事件监视器.actionPerformed(ActionEvent)方法是InputStudent类实现ActionListener接口中的方法。Inquest创建的对话框时查询,打印文本照片,打印文本和打印照片按钮的ActionEvent事件监视器,当用户单击某个按钮时,对话框将执行actionPerformed(ActionEvent)方法进行相应的操作。2)方法 ModifySituation(File)是构造方法,用来创建基本信息修改对象,当创建该对象时,通过该构造方法的参数将ManagerWindow类中的file的引用传递给systemFile. actionPerformed(ActionEvent)方法是InputStudent类实现的ActionListener接口中的方法。InputStudent创建的容器时开始修改,录入修改,重置,选择照片按钮的ActionPerformed(ActionEvent)方法进行相应的操作。运行效果如下图所示:2.2.5 Delete类 Delete类是javax.swing包中JPanel容器的子类,并实现了ActionListen接口,所创建的对象:基本信息删除是ManagerWindow类中最重要的成员之一,负责提供删除学生信息的界面。标明Delete类的主要成员变量,方法以及和 ManagerWindow类之间组合关系1)成员变量 基本信息表是HashMap<String,Student>创建的散列映射,用于存储键值数据对,其中的键必须是一个String对象,键对应的值必须是Student对象。程序将从systemFile文件中读出曾写入到该文件中的HashMap<String,Student>对象,并且将这个对象的引用赋给基本信息表。删除是

    注意事项

    本文(计算机语言Java课程设计学籍管理系统.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开