JAVA课程设计员工信息管理系统.docx
- 文档编号:12245378
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:42
- 大小:158.42KB
JAVA课程设计员工信息管理系统.docx
《JAVA课程设计员工信息管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计员工信息管理系统.docx(42页珍藏版)》请在冰豆网上搜索。
JAVA课程设计员工信息管理系统
JAVA员工管理系统
实验报告
姓名:
张旭冉
学号:
10105010117
班级:
信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(100,50,420,380);
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。
add(录入修改);
pSo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 员工 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)