JAVA课程设计报告员工信息管理系统.doc
《JAVA课程设计报告员工信息管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计报告员工信息管理系统.doc(51页珍藏版)》请在咨信网上搜索。
. . 课程设计〔论文〕任务书 学 院 理学院 专 业 信息与计算科学 学生XX 班级学号 0809010223 课程名称 JAVA程序设计课程设计 课程设计〔论文〕题目 员工信息管理系统 设计题目: 使用JAVA语言及Eclipse开发工具设计并实现员工信息管理系统。 设计任务: 1、设计一个员工管理系统 2、利用图形用户界面实现程序的运行 3、实现员工信息的添加、删除、查询、和修改等功能 4、应用文件的相关知识来完成 方案与进度安排: 十七周:周一、周四选题进展程序的设计 十八周:周一设计的辅导;周四课程设计检查辩论 成绩: 指导教师〔签字〕: 2021年7月8日 专业负责人〔签字〕: 2021年7月18日 主管院长〔签字〕: 2021年7月19日 摘 要 JAVA不仅是一门最为流行的计算机语言,而且已经形成一种专门的技术,带来了20世纪末和本世纪初网络科技和网络经济超常开展。JAVA的与平台无关性、高可靠性、平安机制和嵌网络支持等特性使它成为编写网络应用程序的首选工具之一。 从另一方面来看,软件开发的规模也日渐扩大,对软件质量的要求越来越高,与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、软件质量控制、软件管理法方法学业日渐成熟。面对软件开展的这一现状和趋势,无论是拥有计算机根底知识的学生还是IT领域的起步者,熟练掌握一门语言都是至关重要的。JAVA是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与C++相比的主要不同在于多继承,在JAVA中,取而代之的是简单的接口,以及JAVA的元类模型。这也很大程度上给我们初学编程的人带来很呆的方便,也使我们更容易掌握JAVA编程的一些根本要领和深层知识。 该程序是利用文件来实现的,程序的重要作用是对员工信息进展管理,包括员工信息的添加、查询、修改、删除。通过该课程设计,使同学们进一步理解概JAVA的根本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。 关键词:面向对象、软件开发、继承、员工管理 目 录 1 设计目的1 2 设计问题1 3 概要设计1 4 详细设计1 4.1定义员工类1 4.2 主程序3 4.3 实现员工信息的录入6 4.4 实现员工信息的修改11 4.5 实现员工信息的查询18 4.6 实现员工信息的删除22 5 设计总结26 参考文献27 致 谢27 . .word.zl. . . 员工管理系统 一、设计目的 通过该课程设计,使同学们进一步理解概JAVA的根本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。 二、设计问题 设计题目:员工管理系统 设计要求:〔1〕完成员工信息的添加、删除、查询、修改功能 〔2〕使用用户界面操作 〔3〕使用文件形式完成 设计思路:首先设计界面进入面板,在面板中添加菜单项选择项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。 三、概要设计 面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中参加面板,面板布局设置为CardLayout,最后将面板添加进容器。 功能实现:在录入、查询、修改和删除界面中使用utton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中参加相应的组件,并对其进展监听,同时附加了文件流的处理。 四、详细设计 1、定义员工类: publicclass Employee implements java.io.Serializable { String number,name,discipling,grade,borth,sex; public Employee() { } publicvoid setNumber(String number) { this.number=number; } public String getNumber() { return number; } publicvoid setName(String name) { this.name=name; } public String getName() { return name; } publicvoid setDiscipling(String discipling) { this.discipling=discipling; } public String getDisciping() { return discipling; } publicvoid setGrade(String grade) { this.grade=grade; } public String getGrade() { return grade; } publicvoid setBorth(String borth) { this.borth=borth; } public String getBorth() { return borth; } publicvoid setSex(String sex) { this.sex=sex; } public String getSex() { return sex; }} 2、主程序: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.Hashtable; public class EmployeeManager extends JFrame implements ActionListener { EmployeeSituation 根本信息录入=null; ModifySituation 根本信息修改=null; Inquest 根本信息查询=null; Delete 根本信息删除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入,修改,查询,删除; Container con=null; Hashtable 根本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public EmployeeManager() { 录入=new JMenuItem("录入员工根本信息"); 修改=new JMenuItem("修改员工根本信息"); 查询=new JMenuItem("查询员工根本信息"); 删除=new JMenuItem("删除员工根本信息"); bar=new JMenuBar(); fileMenu=new JMenu("菜单项选择项"); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel("欢迎进入员工信息管理系统",JLabel.CENTER); label.setFont(new Font("SansSerif",Font.BOLD+Font.ITALIC,25)); label.setForeground(Color.red); 根本信息=new Hashtable(); 录入.addActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); pCenter.setBackground(Color.yellow); 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 EmployeeSituation(file); 根本信息修改=new ModifySituation(file); 根本信息查询=new Inquest(this,file); 根本信息删除=new Delete(file); pCenter.add("欢迎语界面",label); pCenter.add("录入界面",根本信息录入); pCenter.add("修改界面",根本信息修改); pCenter.add("删除界面",根本信息删除); con.add(pCenter,BorderLayout.CENTER); con.validate(); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); }}); setVisible(true); setBounds(100,50,420,380); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==录入) { card.show(pCenter,"录入界面"); } else if(e.getSource()==修改) { card.show(pCenter,"修改界面"); } else if(e.getSource()==查询) { 根本信息查询.setVisible(true); } else if(e.getSource()==删除) { card.show(pCenter,"删除界面"); } } public static void main(String args[]) { new EmployeeManager(); }} 3、实现员工信息的录入: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; public class EmployeeSituation extends JPanel implements ActionListener { Hashtable 根本信息表=null; JTextField 员工号,XX,工资; Choice 部门; JRadioButton 男,女; Employee 员工=null; ButtonGroup group=null; utton 录入,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public EmployeeSituation(File file) { this.file=file; 员工号=new JTextField(10); XX=new JTextField(10); 部门=new Choice(); 部门.add("请选择"); 部门.add("研发部"); 部门.add("销售部"); 部门.add("人事部"); 部门.add("平安部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 录入=new utton("录入"); 重置=new utton("重置"); 录入.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("员工号:",JLabel.CENTER)); box1.add(员工号); Box box2=Box.createHorizontalBox(); box2.add(new JLabel("XX:",JLabel.CENTER)); box2.add(XX); 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 box6=Box.createHorizontalBox(); box6.add(new JLabel(" ",JLabel.CENTER)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("工资:",JLabel.CENTER)); box5.add(工资); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box6); boxH.add(box4); boxH.add(Box.createVerticalGlue()); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout()); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SOUTH); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==录入) { String number=""; number=员工号.getText(); if(number.length()>0) { try { inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 根本信息表=(Hashtable)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=XX.getText(); String discipling=部门.getSelectedItem(); String grade=工资.getText(); String sex=null; if(男.isSelected()) { sex=男.getText(); } else { sex=女.getText(); } 员工=new Employee(); 员工.setNumber(number); 员工.setName(name); 员工.setDiscipling(discipling); 员工.setGrade(grade); 员工.setSex(sex); try { outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 根本信息表.put(number,员工); outTwo.writeObject(根本信息表); outTwo.close(); outOne.close(); 员工号.setText(null); XX.setText(null); 工资.setText(null); } catch(Exception ee) { System.out.println(ee); }}}} else { String warning="必须要输入员工号!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); }} if(e.getSource()==重置) { 员工号.setText(null); XX.setText(null); 部门.remove(部门.getSelectedIndex()); 工资.setText(null); }}} 4、实现员工信息的修改: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.util.*; public class ModifySituation extends JPanel implements ActionListener { Hashtable 根本信息表=null; JTextField 员工号,XX,工资; Choice 部门; JRadioButton 男,女; ButtonGroup group=null; utton 开场修改,录入修改,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public ModifySituation(File file) { this.file=file; 员工号=new JTextField(10); XX=new JTextField(10); 部门=new Choice(); 部门.add("请选择"); 部门.add("研发部"); 部门.add("销售部"); 部门.add("人事部"); 部门.add("平安部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 开场修改=new utton("开场修改"); 录入修改=new utton("录入修改"); 录入修改.setEnabled(false); 重置=new utton("重置"); 员工号.addActionListener(this); 开场修改.addActionListener(this); 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("输入要修改信息的员工号:",JLabel.CENTER)); box1.add(员工号); box1.add(开场修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel("XX:",JLabel.CENTER)); box2.add(XX); 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 box6=Box.createHorizontalBox(); box6.add(new JLabel(" ",JLabel.CENTER)); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("工资:",JLabel.CENTER)); box5.add(工资); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box6); boxH.add(box4); boxH.add(Box.createVerticalGlue()); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout()); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SOUTH); validate(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==开场修改||e.getSource()==员工号) { String number=""; number=员工号.getText(); if(number.length()>0) { try { inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 根本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); } catch(Exception ee) { } if(根本信息表.containsKey(number)) { 录入修改.setEnabled(true); Employee stu=(Employee)根本信息表.get(number); XX.setText(stu.getName()); 部门.getSelectedItem(); 工资.setText(stu.getGrade()); if(stu.getSex().equals("男")) { 男.setSelected(true); } else { 女.setSelected(true); } } else { 录入修改.setEnabled(false); String warning="该员工号不存在!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 员工号.setText(null); XX.setText(null);- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 报告 员工 信息管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文