Java课程设计报告员工信息管理系统.docx
《Java课程设计报告员工信息管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告员工信息管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
![Java课程设计报告员工信息管理系统.docx](https://file1.bdocx.com/fileroot1/2023-5/17/fb5fa00c-ceae-4a23-9ebf-58ccd18835dd/fb5fa00c-ceae-4a23-9ebf-58ccd18835dd1.gif)
Java课程设计报告员工信息管理系统
ThismodelpaperwasrevisedbytheStandardizationOfficeonDecember10,2020
Java课程设计报告员工信息管理系统
学号
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
4.1员工类的定义.................................................2
4.2主模块的设计.................................................3
4.3员工信息录入模块的实现.......................................4
4.4员工信息修改模块的实现.......................................7
4.5员工信息查询模块的实现.......................................10
4.6员工信息删除模块的实现.......................................12
5.设计总结..............................................14
参考文献.................................................15
1设计目的
通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。
使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
2设计问题
设计题目:
员工管理系统
设计要求:
(1)完成员工信息的添加、删除、查询、修改功能
(2)使用用户界面操作
(3)使用文件形式完成
设计思路:
首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。
通过文件类型知识的应用,实现对员工信息的管理。
3概要设计
面板设计:
首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。
功能实现:
在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。
4详细设计
4.1定义员工类
publicclassEmployeeimplements
{
Stringnumber,name,discipling,grade,borth,sex;
publicEmployee()
{
}
publicvoidsetNumber(Stringnumber)
{
this.number=number;
}
publicStringgetDisciping()
{
returndiscipling;
}
publicvoidsetSex(Stringsex)
{
this.sex=sex;
}
publicStringgetSex()
{
returnsex;
}}
4.2主程序
publicclassEmployeeManagerextendsJFrameimplementsActionListener
{
EmployeeSituation基本信息录入=null;
ModifySituation基本信息修改=null;
Inquest基本信息查询=null;
Delete基本信息删除=null;
publicEmployeeManager()
{
录入=newJMenuItem("录入员工基本信息");
修改=newJMenuItem("修改员工基本信息");
查询=newJMenuItem("查询员工基本信息");
删除=newJMenuItem("删除员工基本信息");
bar=newJMenuBar();
基本信息录入=newEmployeeSituation(file);
基本信息修改=newModifySituation(file);
基本信息查询=newInquest(this,file);
基本信息删除=newDelete(file);
pCenter.add("欢迎语界面",label);
pCenter.add("录入界面",基本信息录入);
pCenter.add("修改界面",基本信息修改);
pCenter.add("删除界面",基本信息删除);
con.add(pCenter,BorderLayout.CENTER);
con.validate();
addWindowListener(newWindowAdapter()
{
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}});
publicstaticvoidmain(Stringargs[])
{
newEmployeeManager();
}}
图1建立登录界面
图2完善登录系统
4.3实现员工信息的录入
publicclassEmployeeSituationextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField员工号,姓名,工资;
Choice部门;
JRadioButton男,女;
Employee员工=null;
ButtonGroupgroup=null;
JButton录入,重置;
FileInputStreaminOne=null;
ObjectInputStreaminTwo=null;
FileOutputStreamoutOne=null;
ObjectOutputStreamoutTwo=null;
Filefile=null;
publicEmployeeSituation(Filefile)
{
this.file=file;
员工号=newJTextField(10);
姓名=newJTextField(10);
部门=newChoice();
部门.add("请选择");
部门.add("研发部");
部门.add("销售部");
部门.add("人事部");
部门.add("安全部");
工资=newJTextField(10);
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==录入)
{
Stringnumber="";
number=员工号.getText();
if(number.length()>0)
{
try
{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exceptionee)
{
}
if(基本信息表.containsKey(number))
{
Stringwarning="该员工基本信息已存在,请到修改页面修改!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
else
{
Stringwarning="必须要输入员工号!
";
}}
if(e.getSource()==重置)
{
员工号.setText(null);
姓名.setText(null);
部门.remove(部门.getSelectedIndex());
工资.setText(null);
}}}
图3准备录入系统
图4录入信息
图5确定录入信息
4.4实现员工信息的修改
publicclassModifySituationextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField员工号,姓名,工资;
Choice部门;
JRadioButton男,女;
ButtonGroupgroup=null;
publicModifySituation(Filefile)
{
this.file=file;
员工号=newJTextField(10);
姓名=newJTextField(10);
部门=newChoice();
pCenter.setBackground(Color.yellow);
setLayout(newBorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanelpSouth=newJPanel();
pSouth.add(录入修改);
pSouth.add(重置);
pSouth.setBackground(Color.yellow);
add(pSouth,BorderLayout.SOUTH);
validate();
}
elseif(e.getSource()==录入修改)
{
Stringnumber="";
number=员工号.getText();
if(number.length()>0)
{
try{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exceptionee)
{
}
if(e.getSource()==重置)
{
员工号.setText(null);
姓名.setText(null);
部门.remove(部门.getSelectedItem());
工资.setText(null);
}}}
图6输入要修改的信息
图7录入修改
图8确定修改
4.5实现员工信息的查询
publicclassInquestextendsJDialogimplementsActionListener
{
Hashtable基本信息表=null;
JTextField员工号,姓名,部门,工资;
JRadioButton男,女;
JButton查询;
publicvoidactionPerformed(ActionEvente)
{
姓名.setText(null);
部门.setText(null);
工资.setText(null);
if(e.getSource()==查询||e.getSource()==员工号)
{
Stringnumber="";
number=员工号.getText();
{
Stringwarning="必须要输入员工号!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}}}}
图9显示查询对话框
图10输入查询的员工号
4.6实现员工信息的删除
publicclassDeleteextendsJPanelimplementsActionListener
{
Hashtable基本信息表=null;
JTextField员工号,姓名,部门,工资;
JRadioButton男,女;
JButton删除;
publicvoidactionPerformed(ActionEvente)
{
if(e.getSource()==删除||e.getSource()==员工号)
{
Stringnumber="";
number=员工号.getText();
if(number.length()>0)
{
try
{
inOne=newFileInputStream(file);
inTwo=newObjectInputStream(inOne);
基本信息表=(Hashtable)inTwo.readObject();
inOne.close();
inTwo.close();
}
catch(Exceptionee)
{
}
if(基本信息表.containsKey(number))
{
Employeestu=(Employee)基本信息表.get(number);
姓名.setText(stu.getName());
部门.setText(stu.getDisciping());
工资.setText(stu.getGrade());
if(stu.getSex().equals("男"))
{
男.setSelected(true);
}
else
{
女.setSelected(true);
}
Stringm="确定要删除该员工号及全部信息吗";
intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
elseif(ok==JOptionPane.NO_OPTION)
{
员工号.setText(null);
姓名.setText(null);
部门.setText(null);
工资.setText(null);
}
}
else
{
Stringwarning="该员工号不存在!
";
JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);
}
}
图11删除对话框显示
图12确定删除的信息
5设计总结
本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了对员工信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其中还应用到了图形用户界面。
我设计的程序简单易懂,操作简单,且适用于不同的单位使用,只需按照自己的需要将所要录入的信息名称做添加或修改就可以实现。
通过这次JAVA的程序设计,使我对JAVA有了更加深入的了解,巩固了我对JAVA基础知识的掌握,并且能够更加熟练的应用JDK与Eclipse进行JAVA程序的编写。
参考文献
[1](美)CayS.Horstmann、GaryCornell(叶乃文、邝劲筠等译).JAVA2核心技术卷
[M].第七版.机械工业出版社,2006
[2]龚永罡、陈昕.Java程序设计[M].清华大学出版社,2009
[3]刘兆宏、郑莉、陈建、罗频捷.Java语言程序设计案例教程[M].清华大学出版社,2008
[4]王舜燕、钟珞.Java编程方法学[M].北京邮电大学出版社,2008