课程设计(论文)任务书
学
院
理学院
专 业
信息与计算科学
学生姓名
班级学号
0809010223
课程名称
JAVA 程序设计课程设计
课程设计(论文)题目
员工信息管理系统
设计题目:
使用 JAVA 语言及 Eclipse 开发工具设计并实现员工信息管理系统。
设计任务:
1、设计一个员工管理系统
2、利用图形用户界面实现程序的运行
3、实现员工信息的添加、删除、查询、和修改等功能
4、应用文件的相关知识来完成
计划与进度安排:
十七周:周一、周四选题进行程序的设计
十八周:周一设计的辅导;周四课程设计检查答辩
成绩:
专业负责人(签字):
指导教师(签字):
2010 年 7 月 8 日
2010 年 7 月 18 日
主管院长(签字):
2010 年 7 月 19 日
1
摘
要
JAVA 不仅是一门最为流行的计算机语言,而且已经形成一种专门的技术,
带来了 20 世纪末和本世纪初网络科技和网络经济超常发展。JAVA 的与平台无关
性、高可靠性、安全机制和内嵌网络支持等特性使它成为编写网络应用程序的首
选工具之一。
从另一方面来看,软件开发的规模也日渐扩大,对软件质量的要求越来越高,
与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、软件质量控制、
软件管理法方法学业日渐成熟。面对软件发展的这一现状和趋势,无论是拥有计
算机基础知识的学生还是 IT 领域的起步者,熟练掌握一门语言都是至关重要的。
JAVA 是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与
C++相比的主要不同在于多继承,在 JAVA 中,取而代之的是简单的接口,以及
JAVA 的元类模型。这也很大程度上给我们初学编程的人带来很呆的方便,也使
我们更容易掌握 JAVA 编程的一些基本要领和深层知识。
该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括
员工信息的添加、查询、修改、删除。通过该课程设计,使同学们进一步理解概
JAVA 的基本概念、理论和方法,初步掌握 JDK、Eclipse 的调试和应用,以及程
序中错误的解决方法,明确 JAVA 在实际程序设计中的应用。使课堂中学习到理
论得到应用,练习文件形式在 JAVA 程序设计中的应用。
关键词:面向对象、软件开发、继承、员工管理
2
目
录
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
3
员工管理系统
一、设计目的
通过该课程设计,使同学们进一步理解概 JAVA 的基本概念、理论和方法,
初步掌握 JDK、Eclipse 的调试和应用,以及程序中错误的解决方法,明确 JAVA
在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在 JAVA
程序设计中的应用。
二、设计问题
设计题目:员工管理系统
设计要求:(1)完成员工信息的添加、删除、查询、修改功能
(2)使用用户界面操作
(3)使用文件形式完成
设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能
选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应
用,实现对员工信息的管理。
三、概要设计
面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并
在容器中加入面板,面板布局设置为 CardLayout,最后将面板添加进容器。
功能实现:在录入、查询、修改和删除界面中使用 JButton、JLabel、ButtonGroup、
JRadioButton、JTextField、Choice 为界面中加入相应的组件,并对其进行监
听,同时附加了文件流的处理。
四、详细设计
1、定义员工类:
public class Employee implements java.io.Serializable
{
String number,name,discipling,grade,borth,sex;
public Employee()
{
}
public void setNumber(String number)
{
}
this.number=number;
public String getNumber()
4
{
}
return number;
public void setName(String name)
{
}
this.name=name;
public String getName()
{
}
return name;
public void setDiscipling(String discipling)
{
}
this.discipling=discipling;
public String getDisciping()
{
}
return discipling;
public void setGrade(String grade)
{
}
this.grade=grade;
public String getGrade()
{
}
return grade;
public void setBorth(String borth)
{
}
this.borth=borth;
public String getBorth()
{
return borth;
}
public void setSex(String sex)
{
this.sex=sex;
}
public String getSex()
{
}}
return sex;
5
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();
6
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()==录入)
{
7
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();
8