学号 1308020123
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定义员工类
public class Employee implements java.io.Serializable {
String number,name,discipling,grade,borth,sex; public Employee() { }
1
计算机学院 《面向对象程序设计》课程设计报告
public void setNumber(String number) {
this.number=number; }
public String getDisciping() {
return discipling; }
public void setSex(String sex) {
this.sex=sex; }
public String getSex() {
return sex; }}
4.2主程序
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); pCenter.add(\"欢迎语界面\
pCenter.add(\"录入界面\基本信息录入);
pCenter.add(\"修改界面\基本信息修改);
2
计算机学院 《面向对象程序设计》课程设计报告
pCenter.add(\"删除界面\基本信息删除); con.add(pCenter,BorderLayout.CENTER); con.validate();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); }});
public static void main(String args[]) {
new EmployeeManager(); }}
图1 建立登录界面
3
计算机学院 《面向对象程序设计》课程设计报告
图2 完善登录系统
4.3实现员工信息的录入
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) {
this.file=file;
员工号=new JTextField(10); 姓名=new JTextField(10); 部门=new Choice(); 部门.add(\"请选择\");
4
计算机学院 《面向对象程序设计》课程设计报告
部门.add(\"研发部\"); 部门.add(\"销售部\"); 部门.add(\"人事部\"); 部门.add(\"安全部\");
工资=new JTextField(10);
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,\"警告
\
}
else {
String warning=\"必须要输入员工号!\"; }}
if(e.getSource()==重置) {
员工号.setText(null);
5
计算机学院 《面向对象程序设计》课程设计报告
姓名.setText(null);
部门.remove(部门.getSelectedIndex()); 工资.setText(null); }}}
图3 准备录入系统
图4 录入信息
6
计算机学院 《面向对象程序设计》课程设计报告
图5 确定录入信息
4.4实现员工信息的修改
public class ModifySituation extends JPanel implements ActionListener {
Hashtable 基本信息表=null; JTextField 员工号,姓名,工资; Choice 部门;
JRadioButton 男,女;
ButtonGroup group=null;
public ModifySituation(File file) {
this.file=file;
员工号=new JTextField(10);
姓名=new JTextField(10); 部门=new Choice();
pCenter.setBackground(Color.yellow); setLayout(new BorderLayout()); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); pSouth.setBackground(Color.yellow);
7
计算机学院 《面向对象程序设计》课程设计报告
add(pSouth,BorderLayout.SOUTH); validate(); }
else 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(e.getSource()==重置) {
员工号.setText(null); 姓名.setText(null);
部门.remove(部门.getSelectedItem()); 工资.setText(null); }}}
8
计算机学院 《面向对象程序设计》课程设计报告
图6 输入要修改的信息
图7 录入修改
9
计算机学院 《面向对象程序设计》课程设计报告
图8 确定修改
4.5实现员工信息的查询
public class Inquest extends JDialog implements ActionListener {
Hashtable 基本信息表=null; JTextField 员工号,姓名,部门,工资; JRadioButton 男,女; JButton 查询;
public void actionPerformed(ActionEvent e) {
姓名.setText(null); 部门.setText(null); 工资.setText(null);
if(e.getSource()==查询||e.getSource()==员工号) {
String number=\"\";
number=员工号.getText();
{
String warning=\"必须要输入员工号!\";
10
计算机学院 《面向对象程序设计》课程设计报告
JOptionPane.showMessageDialog(this,warning,\"警告\ }}}}
图9 显示查询对话框
11
计算机学院 《面向对象程序设计》课程设计报告
图10 输入查询的员工号
4.6实现员工信息的删除
public class Delete extends JPanel implements ActionListener {
Hashtable 基本信息表=null; JTextField 员工号,姓名,部门,工资; JRadioButton 男,女; JButton 删除;
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(); }
12
计算机学院 《面向对象程序设计》课程设计报告
catch(Exception ee) { } if(基本信息表.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=JOptionPane.showConfirmDialog(this,m,\"
确认\JOptionPane.QUESTION_MESSAGE);
else if(ok==JOptionPane.NO_OPTION) {
员工号.setText(null); 姓名.setText(null); 部门.setText(null);
工资.setText(null); } } else { String warning=\"该员工号不存在!\";
JOptionPane.showMessageDialog(this,warning,\"警告
\
} }
13
计算机学院 《面向对象程序设计》课程设计报告
图11 删除对话框显示
图12 确定删除的信息
5设计总结
14
计算机学院 《面向对象程序设计》课程设计报告
本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了
对员工信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其中还应用到了图形用户界面。我设计的程序简单易懂,操作简单,且 适用于不同的单位使用,只需按照自己的需要将所要录入的信息名称做添加或修改就可以实现。通过这次JAVA的程序设计,使我对JAVA有了更加深入的了解,巩固了我对JAVA基础知识的掌握,并且能够更加熟练的应用JDK与Eclipse进行JAVA程序的编写。
参考文献
[1](美)Cay S.Horstmann、Gary Cornell(叶乃文、邝劲筠 等译).JAVA核心技术卷[M].
第七版.机械工业出版社,2006
[2] 龚永罡、陈昕.Java程序设计[M].清华大学出版社,2009
[3] 刘兆宏、郑莉、陈建、罗频捷.Java语言程序设计案例教程[M].清华大学出版社,2008 [4] 王舜燕、钟珞.Java编程方法学[M].北京邮电大学出版社,2008
2
X
15
计算机学院 《面向对象程序设计》课程设计报告
16
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务