完整版JAVA毕业课程设计论文.docx

上传人:b****6 文档编号:5826604 上传时间:2023-01-01 格式:DOCX 页数:36 大小:23.26KB
下载 相关 举报
完整版JAVA毕业课程设计论文.docx_第1页
第1页 / 共36页
完整版JAVA毕业课程设计论文.docx_第2页
第2页 / 共36页
完整版JAVA毕业课程设计论文.docx_第3页
第3页 / 共36页
完整版JAVA毕业课程设计论文.docx_第4页
第4页 / 共36页
完整版JAVA毕业课程设计论文.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

完整版JAVA毕业课程设计论文.docx

《完整版JAVA毕业课程设计论文.docx》由会员分享,可在线阅读,更多相关《完整版JAVA毕业课程设计论文.docx(36页珍藏版)》请在冰豆网上搜索。

完整版JAVA毕业课程设计论文.docx

完整版JAVA毕业课程设计论文

 

课程设计(论文)任务书

 

学院理学院专业信息与计算科学

 

学生姓名班级学号

 

课程名称JAVA程序设计课程设计

 

课程设计(论文)题目员工信息管理系统

 

设计题目:

 

使用JAVA语言及Eclipse开发工具设计并实现员工信息

 

管理系统。

 

设计任务:

 

1、设计一个员工管理系统

 

2、利用图形用户界面实现程序的运行

 

3、实现员工信息的添加、删除、查询、和修改等功能

 

4、应用文件的相关知识来完成

 

计划与进度安排:

 

十七周:

周一、周四选题进行程序的设计

 

十八周:

周一设计的辅导;周四课程设计检查答辩

 

成绩:

专业负责人(签字):

 

指导教师(签字):

 

2010年7月8日2010年7月18

 

 

主管院长(签字):

 

2010年7月19

 

 

摘要

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

术,带来了20世纪末和本世纪初网络科技和网络经济超常发展。

JAVA的

与平台无关性、高可靠性、安全机制和内嵌网络支持等特性使它成为编写

网络应用程序的首选工具之一。

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

来越高,与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、

软件质量控制、软件管理法方法学业日渐成熟。

面对软件发展的这一现状

和趋势,无论是拥有计算机基础知识的学生还是IT领域的起步者,熟练

掌握一门语言都是至关重要的。

JAVA是一个面向对象的程序设计软件,它

将重点放在数据和对象的接口上,与C++相比的主要不同在于多继承,在

JAVA中,取而代之的是简单的接口,以及JAVA的元类模型。

这也很大程

度上给我们初学编程的人带来很呆的方便,也使我们更容易掌握JAVA编

程的一些基本要领和深层知识。

该程序是利用文件来实现的,程序的重要作用是对员工信息进行管

 

理,包括员工信息的添加、查询、修改、删除。

通过该课程设计,使同学

们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse

的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计

中的应用。

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

 

关键词:

面向对象、软件开发、继承、员工管理

 

1

设计目的..................................................................................................................

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

 

员工管理系统

一、设计目的

通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。

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

二、设计问题

 

设计题目:

员工管理系统

设计要求:

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

(2)使用用户界面操作

(3)使用文件形式完成

设计思路:

首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。

通过文件类型知识的应用,实现对员工信息的管理。

三、概要设计

 

面板设计:

首先设计一个容器,然后再容器中添加菜单,在菜单中添加选

项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加

进容器。

功能实现:

在录入、查询、修改和删除界面中使用JButton、JLabel、

ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的

组件,并对其进行监听,同时附加了文件流的处理。

四、详细设计

1、定义员工类:

publicclassEmployeeimplementsjava.io.Serializable

{

 

Stringnumber,name,discipling,grade,borth,sex;publicEmployee()

{

}

publicvoidsetNumber(Stringnumber)

{

this.number=number;

}

publicStringgetNumber()

{

returnnumber;

}

publicvoidsetName(Stringname)

{

this.name=name;

}

publicStringgetName()

{

returnname;

}

publicvoidsetDiscipling(Stringdiscipling)

{

this.discipling=discipling;

}

publicStringgetDisciping()

 

{

returndiscipling;

}

publicvoidsetGrade(Stringgrade)

{

this.grade=grade;

}

publicStringgetGrade()

{

returngrade;

}

publicvoidsetBorth(Stringborth)

{

this.borth=borth;

}

publicStringgetBorth()

{

returnborth;

}

publicvoidsetSex(Stringsex)

{

this.sex=sex;

}

publicStringgetSex()

{

 

returnsex;

}}

2、主程序:

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.Hashtable;

publicclassEmployeeManagerextendsJFrameimplementsActionListener

{

EmployeeSituation

ModifySituation

Inquest

Delete

基本信息录入基本信息修改基本信息查询基本信息删除

=null;

=null;

=null;

=null;

JMenuBarbar;

JMenufileMenu;

JMenuItem录入,修改,查询,删除;

Containercon=null;

Hashtable基本信息=null;

Filefile=null;

CardLayoutcard=null;

JLabellabel=null;

JPanelpCenter;

publicEmployeeManager()

 

{

录入=newJMenuItem("录入员工基本信息");

修改=newJMenuItem("修改员工基本信息");

查询=newJMenuItem("查询员工基本信息");

删除=newJMenuItem("删除员工基本信息");

bar=newJMenuBar();

fileMenu=newJMenu("菜单选项");

fileMenu.add(录入);

fileMenu.add(修改);

fileMenu.add(查询);

fileMenu.add(删除);

bar.add(fileMenu);

setJMenuBar(bar);

label=newJLabel("欢迎进入员工信息管理系统

",JLabel.CENTER);

label.setFont(new

Font("SansSerif",Font.BOLD+Font.ITALIC,25));

label.setForeground(Color.red);

基本信息=newHashtable();

录入.addActionListener(this);

修改.addActionListener(this);

查询.addActionListener(this);

删除.addActionListener(this);

card=newCardLayout();

con=getContentPane();

 

pCenter=newJPanel();

pCenter.setLayout(card);

pCenter.setBackground(Color.yellow);

file=newFile("基本信息.txt");

if(!

file.exists())

{

try

{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=new

ObjectOutputStream(out);

objectOut.writeObject(基本信息);

objectOut.close();

out.close();

}

catch(IOExceptione)

{

}

}

基本信息录入=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);

}});

setVisible(true);

setBounds(80);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==

{

录入)

card.show(pCenter,"

录入界面

");

}

elseif(e.getSource()==

{

 

修改)

card.show(pCenter,"

修改界面

");

}

elseif(e.getSource()==

 

查询)

 

{

基本信息查询.setVisible(true);

}

elseif(e.getSource()==删除)

{

card.show(pCenter,"删除界面");

}

}

publicstaticvoidmain(Stringargs[])

{

newEmployeeManager();

}}

 

3、实现员工信息的录入:

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassEmployeeSituationextendsJPanelimplements

ActionListener

{

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);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);group.add(男);

 

group.add(女);

录入=newJButton("录入");

重置=newJButton("重置");

录入.addActionListener(this);

重置.addActionListener(this);

Boxbox1=Box.createHorizontalBox();

box1.add(newJLabel("员工号:

",JLabel.CENTER));

box1.add(员工号);

Boxbox2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

",JLabel.CENTER));

box2.add(姓名);

Boxbox3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

",JLabel.CENTER));

box3.add(男);

box3.add(女);

Boxbox4=Box.createHorizontalBox();

box4.add(newJLabel("部门:

",JLabel.CENTER));

box4.add(部门);

Boxbox6=Box.createHorizontalBox();

box6.add(newJLabel("",JLabel.CENTER));

Boxbox5=Box.createHorizontalBox();

box5.add(newJLabel("工资:

",JLabel.CENTER));

box5.add(工资);

BoxboxH=Box.createVerticalBox();

boxH.add(box1);

 

boxH.add(box2);

boxH.add(box3);

boxH.add(box5);

boxH.add(box6);

boxH.add(box4);

boxH.add(Box.createVerticalGlue());

JPanelpCenter=newJPanel();

pCenter.add(boxH);

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();

}

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

{

Stringm="

基本信息将被录入

!

";

intok=JOptionPane.showConfirmDialog(this,m,"

确认

",JOptionPane.YES_NO_OPTION,

JOptionPane.INFORMATION_MESSAGE);

 

if(ok==JOptionPane.YES_OPTION)

{

Stringname=姓名.getText();

Stringdiscipling=部门.getSelectedItem();

Stringgrade=工资.getText();

Stringsex=null;

if(男.isSelected())

{

sex=男.getText();

}

else

{

sex=女.getText();

}

员工=newEmployee();

员工.setNumber(number);

员工.setName(name);

员工.setDiscipling(discipling);

员工.setGrade(grade);

员工.setSex(sex);

try

{

outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);

基本信息表.put(number,员工);

 

outTwo.writeObject(基本信息表);

outTwo.close();

outOne.close();

员工号.setText(null);

姓名.setText(null);

工资.setText(null);

}

catch(Exceptionee)

{

System.out.println(ee);

}}}}

else

{

Stringwarning="必须要输入员工号!

";

JOptionPane.showMessageDialog(this,warning,"

",JOptionPane.WARNING_MESSAGE);

 

警告

}}

if(e.getSource()==

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1