2014-2015学年第二学期《面向对象程序设计》课程设计报告题目:员工信息管理系统分析与设计专业:网络工程班级:13级(1)班姓名:指导教师:成绩:计算机学院2015年5月22日引言JAVA不仅是一门最为流行的计算机语言,而且已经形成一种专门的技术,带来了20世纪末和本世纪初网络科技和网络经济超常发展。
JAVA的与平台无关性、高可靠性、安全机制和内嵌网络支持等特性使它成为编写网络应用程序的首选工具之一。
从另一方面来看,软件开发的规模也日渐扩大,对软件质量的要求越来越高,与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、软件质量控制、软件管理法方法学业日渐成熟。
面对软件发展的这一现状和趋势,无论是拥有计算机基础知识的学生还是IT领域的起步者,熟练掌握一门语言都是至关重要的。
JAVA是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与C++相比的主要不同在于多继承,在JAVA中,取而代之的是简单的接口,以及JAVA 的元类模型。
这也很大程度上给我们初学编程的人带来很呆的方便,也使我们更容易掌握JAVA编程的一些基本要领和深层知识。
该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括员工信息的添加、查询、修改、删除。
通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。
使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
目录1. 设计目的 (1)2. 设计问题 (1)3. 概要设计 (1)4. 详细设计 (1)员工类的定义 (2)主模块的设计 (3)员工信息录入模块的实现 (4)员工信息修改模块的实现 (7)员工信息查询模块的实现 (10)员工信息删除模块的实现 (12)5. 设计总结 (14)参考文献 (15)1设计目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA 在实际程序设计中的应用。
使课堂中学习到理论得到应用,练习文件形式在JAVA 程序设计中的应用。
2设计问题设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能(2)使用用户界面操作(3)使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。
通过文件类型知识的应用,实现对员工信息的管理。
3概要设计面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。
功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。
4详细设计定义员工类public class Employee implements{String number,name,discipling,grade,borth,sex;public Employee(){}public void setNumber(String number){=number;}public String getDisciping(){return discipling;}public void setSex(String sex){=sex;}public String getSex(){return sex;}}主程序public class EmployeeManager extends JFrame implements ActionListener {EmployeeSituation 基本信息录入=null;ModifySituation 基本信息修改=null;Inquest 基本信息查询=null;Delete 基本信息删除=null;public EmployeeManager(){录入=new JMenuItem("录入员工基本信息");修改=new JMenuItem("修改员工基本信息");查询=new JMenuItem("查询员工基本信息");删除=new JMenuItem("删除员工基本信息");bar=new JMenuBar();基本信息录入=new EmployeeSituation(file);基本信息修改=new ModifySituation(file);基本信息查询=new Inquest(this,file);基本信息删除=new Delete(file);("欢迎语界面",label);("录入界面",基本信息录入);("修改界面",基本信息修改);("删除界面",基本信息删除);(pCenter,;();addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){(0);}});public static void main(String args[]){new EmployeeManager();}}图1 建立登录界面图2 完善登录系统实现员工信息的录入public class EmployeeSituation extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;Employee 员工=null;ButtonGroup group=null;JButton 录入,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public EmployeeSituation(File file){=file;员工号=new JTextField(10);姓名=new JTextField(10);部门=new Choice();部门.add("请选择");部门.add("研发部");部门.add("销售部");部门.add("人事部");部门.add("安全部");工资=new JTextField(10);public void actionPerformed(ActionEvent e){if()==录入){String number="";number=员工号.getText();if()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();();();}catch(Exception ee){}if(基本信息表.containsKey(number)){String warning="该员工基本信息已存在,请到修改页面修改!"; (this,warning,"警告",;}else{String warning="必须要输入员工号!";}}if()==重置){员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedIndex());工资.setText(null);}}}图3 准备录入系统图4 录入信息图5 确定录入信息实现员工信息的修改public class ModifySituation extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;ButtonGroup group=null;public ModifySituation(File file){=file;员工号=new JTextField(10);姓名=new JTextField(10);部门=new Choice();;setLayout(new BorderLayout());add(pCenter,;JPanel pSouth=new JPanel();(录入修改);(重置);;add(pSouth,;validate();}else if()==录入修改){String number="";number=员工号.getText();if()>0){try {inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();();();}catch(Exception ee){}if()==重置){员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}}图6 输入要修改的信息图7 录入修改图8 确定修改实现员工信息的查询public class Inquest extends JDialog implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,部门,工资;JRadioButton 男,女;JButton 查询;public void actionPerformed(ActionEvent e){姓名.setText(null);部门.setText(null);工资.setText(null);if()==查询||()==员工号){String number="";number=员工号.getText();{String warning="必须要输入员工号!";(this,warning,"警告",;}}}}图9 显示查询对话框图10 输入查询的员工号实现员工信息的删除public class Delete extends JPanel implements ActionListener {Hashtable 基本信息表=null;JTextField 员工号,姓名,部门,工资;JRadioButton 男,女;JButton 删除;public void actionPerformed(ActionEvent e){if()==删除||()==员工号){String number="";number=员工号.getText();if()>0){t ry{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)();();();}c atch(Exception ee){}i f(基本信息表.containsKey(number)){Employee stu=(Employee)基本信息表.get(number);姓名.setText());部门.setText());工资.setText());if().equals("男")){男.setSelected(true);}else{女.setSelected(true);}String m="确定要删除该员工号及全部信息吗?"; int ok=(this,m,"确认",, ; else if(ok=={员工号.setText(null);姓名.setText(null);部门.setText(null);工资.setText(null);}}e lse{String warning="该员工号不存在!";(this,warning,"警告",;}}图11 删除对话框显示图12 确定删除的信息5设计总结本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了对员工信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其中还应用到了图形用户界面。