完整版JAVA毕业课程设计员工信息管理系统.docx

上传人:b****6 文档编号:8117936 上传时间:2023-01-28 格式:DOCX 页数:36 大小:157.61KB
下载 相关 举报
完整版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员工管理系统

实验报告

 

姓名:

张旭冉

学号:

班级:

信10-1

 

北方工业大学理学院信息与计算科学系

2013年12月17日

员工管理系统

一、实验目的

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

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

二、实验内容

A.设计题目:

员工管理系统

设计要求:

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

(2)使用用户界面操作

(3)使用文件形式完成

设计思路:

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

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

B.概要设计

面板设计:

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

功能实现:

在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。

C.详细设计

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

ModifySituation基本信息修改=null;

Inquest基本信息查询=null;

Delete基本信息删除=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(newFont("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=newObjectOutputStream(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.*;

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

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()==重置)

{

员工号.setText(null);

姓名.setText(null);

部门.remove(部门.getSelectedIndex());

工资.setText(null);

}}}

4、实现员工信息的修改:

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassModifySituationextendsJPanelimplementsActionListener

{

Hashtable基本信息表=null;

JTextField员工号,姓名,工资;

Choice部门;

JRadioButton男,女;

ButtonGroupgroup=null;

JButton开始修改,录入修改,重置;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

Filefile=null;

publicModifySituation(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("录入修改");

录入修改.setEnabled(false);

重置=newJButton("重置");

员工号.addActionListener(this);

开始修改.addActionListener(this);

录入修改.addActionListener(this);

重置.addActionListener(this);

Boxbox1=Box.createHorizontalBox();

box1.add(newJLabel("输入要修改信息的员工号:

",JLabel.CENTER));

box1.add(员工号);

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

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

当前位置:首页 > PPT模板 > 艺术创意

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

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