学号

 1308020123

 2014-2015学年 第二学期

 《面向对象程序设计》

 课程设计报告

 题目:员工信息管理系统分析与设计

 专业: 网络工程

 班级: 13级(1)班

 姓名: 指导教师:

 计算机学院

 2015年5月22日

 论得到应用,练习文件形式在

 论得到应用,练习文件形式在 JAVA程序设计中的应用

 引言

 JAVA不仅是一门最为流行的计算机语言, 而且已经形成一种专门的技术, 带

 来了 20世纪末和本世纪初网络科技和网络经济超常发展。 JAVA的与平台无关性、

 高可靠性、安全机制和内嵌网络支持等特性使它成为编写网络应用程序的首选工 具之一。

 从另一方面来看,软件开发的规模也日渐扩大, 对软件质量的要求越来越高,

 与之相对应的是, 各种软件技术和工具层出不穷, 各种软件开发、软件质量控制、

 软件管理法方法学业日渐成熟。面对软件发展的这一现状和趋势,无论是拥有计 算机基础知识的学生还是 IT领域的起步者, 熟练掌握一门语言都是至关重要的。

 JAVA是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与 C++相比的主要不同在于多继承, 在JAVA中,取而代之的是简单的接口, 以及JAVA

 的元类模型。这也很大程度上给我们初学编程的人带来很呆的方便,也使我们更 容易掌握JAVA编程的一些基本要领和深层知识。

 该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括 员工信息的添加、查询、修改、删除。通过该课程设计,使同学们进一步理解概 JAVA的基本概念、理论和方法,初步掌握 JDK、Eclipse 的调试和应用,以及程

 序中错误的解决方法,明确 JAVA在实际程序设计中的应用。使课堂中学习到理

  ..1

  ..1

 目录

 11

 1

 1

 1

 2

 3

  7

  10

  12

  14

 设计目

 的

 设计问题

 概要设计

 详细设计

 4.1员工类的定义

 4.2主模块的设计

 4.3员工信息录入模块的实现

 4.4员工信息修改模块的实现

 4.5员工信息查询模块的实现

 4.6员工信息删除模块的实现

 设计总结

 参考文献

  15

 1设计目的通过该课程设计,使同学们进一步理解概 JAVA的基本概念、理论和方法,

 初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确 JAVA

 在实际程序设计中的应用。

 使课堂中学习到理论得到应用, 练习文件形式在 JAVA 程序设计中的应用。

 2设计问题

 设计题目:员工管理系统

 设计要求:(1)完成员工信息的添加、删除、查询、修改功能

 (2) 使用用户界面操作

 (3) 使用文件形式完成

 设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能 选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应 用,实现对员工信息的管理

 3概要设计

 面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并 在容器中加入面板,面板布局设置为 CardLayout,最后将面板添加进容器。

 功能实现:在录入、查询、修改和删除界面中使用 JButton、JLabel、ButtonGroup、

 JRadioButton 、JTextField 、Choice为界面中加入相应的组件, 并对其进行监听,

 同时附加了文件流的处理。

 4详细设计

 4.1定义员工类

 public class Employee impleme nts java.io.Serializable

 {

 String nu mber, name,discipli ng,grade,borth,sex;

 public Employee。

 {

 }

 public void setNumber(Stri ng nu mber) {

 this. nu mber=nu mber;

 }

 public String getDiscip in g()

 {

 return discipli ng;

 }

 public void setSex(Stri ng sex)

 {

 this.sex=sex;

 }

 public String getSex()

 {

 return sex;

 }} 4.2主程序

 public class EmployeeMa nager exte nds JFrame impleme nts Actio nListe ner

 {

 EmployeeSituatio n

 基本信息录入

 =n ull;

 ModifySituatio n

 基本信息修改

 =n ull;

 Inq uest

 基本信息查询

 =n ull;

 Delete

 基本信息删除

 =n ull;

 public EmployeeMa nager() {

 录入员工基本信息"); 修改员工基本信息"); 查询员工基本信息"); 删除员工基本信息");录入=new JMe nultem(

 录入员工基本信息"); 修改员工基本信息"); 查询员工基本信息"); 删除员工基本信息");

 基本信息录入=new EmployeeSituation(file); 基本信息修改=new ModifySituatio n(file);

 基本信息查询=n ew I nq uest(this,file);

 基本信息删除=n ew Delete(file);

 pCenter.add(” 欢迎语界面",label);

 pCenter.add(” 录入界面",基本信息录入); pCenter.add(” 修改界面",基本信息修改); pCenter.add(" 删除界面",基本信息删除); co n.add(pCe nter,BorderLayout.CENTER);

 con .validate。;

 addWi ndowListe ner(new Win dowAdapter()

 {

 public void wi ndowClosi ng(Wi ndowEve nt e) {

 System.exit(O);

 }});

 public static void mai n(Stri ng args[]) {

 new EmployeeMa nager();

 }}

 图1建立登录界面

 n

 n

 录入员工基未信息 瞳改员工基本信息 查洵员工基本信息 删除员工基本信息

 欢迎进入员工信息管理系统

 图2完善登录系统

 4.3实现员工信息的录入

 public class EmployeeSituatio n exte nds JPa nel impleme nts Actio nListe ner {

 Hashtable 基本信息表=n ull;

 JTextField 员工号,姓名,工资;

 Choice 部门;

 JRadioButton 男,女;

 Employee 员工 =n ull;

 Butt on Group group=nu II;

 JButton 录入,重置;

 FileI nputStream inOne=n ull;

 ObjectI nputStream in Two=n ull;

 FileOutputStream out One=n ull;

 ObjectOutputStream outTwo=null;

 File file=null;

 public EmployeeSituation(File file)

 {

 this.file=file;

 员工号=n ew JTextField(10);

 姓名=new JTextField(10);

 部门=new Choice();

 部门.add("请选择");

 部门.add("研发部"); 部门.add("销售部"); 部门.add("人事部"); 部门.add("安全部"); 工资=new JTextField(IO);

 public void acti on Performed(Act ion Eve nt e)

 {

 if(e.getSource()== 录入)

 {

 Stri ng nu mber="";

 number= 员工号.getText();

 if(nu mber.le ngth()>0)

 {

 try

 {

 inOne=new FileInputStream(file);

 in Two=new ObjectI nputStream(i nOn e);

 基本信息表=(Hashtable)i nTwo.readObject(); inOn e.close();

 in Two.close();

 }

 catch(Excepti on ee)

 {

 }

 if( 基本信息表.containsKey(number))

 ,请到修改页面修改

 ,请到修改页面修改!";

 警告

 Stri ng warni ng=" 该员工基本信息已存在

 JOpti onPan e.showMessageDialog(this,war nin g," ",JOptio nPan e.WARNING_MESSAGE);

 }

 else

 {

 必须要输入员工号!

 必须要输入员工号!

 重置)

 }}

 if(e.getSource()==

 {

 员工号.setText(null);

 姓名.setText(null);

 部门.remove(部门.getSelectedIndex()); 工资.setText(null);

 }}}

 I-i

 菜单送顷

 员工号:

 姓名:

 性别:團男O女

 工资:

 部门:

 请选择

 录入 重査

 图3准备录入系统

 L±J

 图4录入信息

 逶

 逶I n

 基赢信息将械录入!S(N)

 基赢信息将械录入!

 S(N)

 姓名::祁杆

 性别@男.女

 工题诙’

 是CD

 录入

 重畫

 图5确定录入信息

 4.4实现员工信息的修改

 public class ModifySituatio n exte nds JPa nel impleme nts Actio nListe ner {

 Hashtable 基本信息表=n ull;

 JTextField 员工号,姓名,工资;

 Choice 部门;

 JRadioButton 男,女;

 Butt on Group group=nu II;

 public ModifySituatio n(File file)

 {

 this.file=file;

 员工号=n ew JTextField(10);

 姓名=new JTextField(10);

 部门=new Choice();

 pCe nter.setBackgro un d(Color.yellow);

 setLayout (new BorderLayout());

 add(pCe nter,BorderLayout.CENTER);

 JPanel pSouth=new JPan el();

 pSouth.add(录入修改);

 pSouth.add(重置);

 pSouth.setBackgro un d(Color.yellow);

 add(pSouth,BorderLayout.SOUTH);

 validate。;

 }

 else if(e.getSource()== 录入修改)

 {

 Stri ng nu mber="";

 number=员工号.getText();

 if(nu mber.le ngth()>0)

 {

 try {

 inOne=new FileInputStream(file);

 in Two=new ObjectI nputStream(i nOn e);

 基本信息表=(Hashtable)i nTwo.readObject();

 inOn e.close();

 in Two.close();

 }

 catch(Excepti on ee)

 {

 }

 if(e.getSource()== 重置)

 {

 员工号.setText(null);

 姓名.setText(null);

 部门.remove(部门.getSelectedltem());

 工资.setText(null);

 }}}

 X

 X

 荼单选顷

 图6输入要修改的信息

 菜单选顷

 输入要储改信息的员工号如也9的咗3 ―|开始储换

 姪名丽

 性别:画男0女

 录入储改 重运

 图7录入修改

 菓单选顼

 菓单选顼

 工资输入要直改信息的员工号*809010223 开怡趨改

 工资

 输入要直改信息的员工号*809010223 开怡趨改

 娃售4祁**

 部门

 性别:運舅C女

 录入修改 重置

 图8确定修改

 4.5实现员工信息的查询

 public class Inq uest exte nds JDialog impleme nts Action Liste ner {

 Hashtable 基本信息表=n ull;

 JTextField 员工号,姓名,部门,工资;

 JRadioButton 男,女;

 JButton 查询;

 public void action Performed(Acti on Eve nt e)

 {

 姓名.setText(null);

 部门.setText(null);

 员工号)工资

 员工号)

 if(e.getSource()== 查询 ||e.getSource()==

 {

 Stri ng nu mber="";

 number= 员工号.getText();

 String warning="

 必须要输入员工号!";

 JOptio nPan e.showMessageDialog(this,warni ng,"

 JOptio nPan e.showMessageDialog(this,warni ng," 警告

 ",JOptionPane .WARNING_MESSAGE);

 }}}}

 图9显示查询对话框

 查询对话框

 查询对话框 X

 辎入要萱洵的员工号0809010223 查j?

 图10输入查询的员工号

 4.6实现员工信息的删除

 public class Delete exte nds JPa nel impleme nts Actio nListe ner {

 Hashtable 基本信息表=n ull;

 JTextField 员工号,姓名,部门,工资;

 JRadioButton 男,女;

 JButton 删除;

 public void action Performed(Acti on Eve nt e)

 {

 if(e.getSource()== 删除 ||e.getSource()== 员工号) {

 String nu mber="";

 number=员工号.getText();

 if(nu mber.le ngth()>0)

 {

 t ry

 {

 inOne=new File In putStream(file);

 in Two=new ObjectI nputStream(i nOn e);

 基本信息表=(Hashtable)i nTwo.readObject(); inOn e.close();

 in Two.close();

 }

 catch(Excepti on ee)

 {

 }

 i f(基本信息表.containsKey(number))

 {

 Employee stu=(Employee) 基本信息表.get(number);

 姓名.setText(stu.getName());

 咅部门.setText(stu.getDisciping()); 工资.setText(stu.getGrade());

 if(stu.getSex().equals(” 男"))

 {

 男.setSelected(true);

 }

 else

 {

 女.setSelected(true);

 }

 String m=" 确定要删除该员工号及全部信息吗 ?";

 int ok=JOptio nPan e.showC on firmDialog(this,m,"

 确认",JOptionPane.YES_NO_OPTION, JOpti onPan e.QUESTION_MESSAGE);

 else if(ok==JOptio nPa ne.NO_OPTION)

 {

 员工号.setText(null);

 姓名.setText(null);

 部门.setText(null);

 工资.setText(null);

 }

 }

 else

 {

 Stri ng warni ng=" 该员工号不存在!";

 JOpti onPan e.showMessageDialog(this,war nin g," 警

 ",JOptio nPa ne.WARNING_MESSAGE);

 图11删除对话框显示

 區) _

 菜单迭顷

 图12确定删除的信息

 5设计总结

 本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了 对员工信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其 中还应用到了图形用户界面。我设计的程序简单易懂,操作简单,且 适用于不

 同的单位使用,只需按照自己的需要将所要录入的信息名称做添加或修改就可以 实现。通过这次 JAVA的程序设计,使我对 JAVA有了更加深入的了解,巩固了我

 对JAVA基础知识的掌握, 并且能够更加熟练的应用 JDK与Eclipse 进行JAVA程

 序的编写。

 参考文献

 (美)Cay S.Horstmann、Gary Cornell (叶乃文、邝劲筠等译)JAVA2 核心技术卷[M].

  TOC \o "1-5" \h \z 第七版.机械工业出版社, 2006

 龚永罡、陈昕.Java程序设计[M].清华大学出版社, 2009

 刘兆宏、郑莉、陈建、罗频捷 .Java语言程序设计案例教程 [M].清华大学出版社, 2008

 王舜燕、钟珞.Java编程方法学[M].北京邮电大学出版社, 2008

查看更多述职报告相关内容,请点击 述职报告