




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要众所周知,当今社会是信息社会,因此,要想加强人事管理,单纯依靠以前的手工管理,不仅会浪费大量的人力,物力,财力,而且效率不高,而且很难达到预期的目的。所以人事管理信息系统能够提供准确的人员信息,以便领导者了解企业各个部门的人员构成,安排好工作计划,使企业变的更高效。该系统能够对某单位的职工进行管理,主要功能如下是:一、人事资料输入:输入员工信息,如姓名、身份证号、地址、电话、部门、工资、参加工作时间、专业、职务、备注等。二、信息查询:可根据职工编号、职工名称、出生年月范围、工资范围、参加工作时间范围等条件查询。三、登陆检测、用户管理、密码修改、权限设置。四 、系统初始化:包括操作员信息初始
2、化和职工信息初始化。五、用户信息修改:拥有权限的操作员可以修改、冻结、删除普通用户。关键词:人事信息、java、用户界面目 录一、设计目的1二、设计问题1三、概要设计1四、详细设计21、定义员工类:32、主程序:43、实现员工信息的录入:74、实现员工信息的修改:125、实现员工信息的查询:196、实现员工信息的删除:23五、设计总结27参考文献28人事管理系统一、设计目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA
3、程序设计中的应用。二、设计问题设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能(2)使用用户界面操作(3)使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。三、概要设计1、从管理员角度讲,实现的功能是: (1) 对员工有关数据的输入功能 a) 实现对员工基本信息的输入 b) 实现对员工奖惩信息的输入 (2) 对员工有关数据的更新功能 由管理员进行档案收集,经过对档案资料的处理,更新员工档案管理系统中的奖惩相关信息(包括员工基本信息和员
4、工业绩信息)。 (3) 对员工档案信息的查询功能 管理员可以通过自己的用户名和密码在因特网上对所有员工的信息(包括员工的档案信息、员工的业绩信息)进行查询。 (4) 对员工、部门和部门领导信息的简单管理 (5) 对用户密码的管理 2、从普通用户(员工)的角度讲,实现的功能是: (1)在单位员工可以通过自己的编号和密码在因特网上对自己的个人信息(包括个人的档案信息、业绩信息)进行查询。 (2) 对用户密码的管理面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使
5、用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。员工信息管理系统的系统运行流程图四、详细设计1、定义员工类:public class Employee implements String number,name,discipling,grade,borth,sex; public Employee() public void setNumber(String number) this.number=number; public String getNumber()
6、 return number; public void setName(String 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()
7、 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; 2、主程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;
8、public class EmployeeManager extends JFrame implements ActionListenerEmployeeSituation 基本信息录入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入,修改,查询,删除; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null
9、; JLabel label=null; JPanel pCenter; public EmployeeManager() 录入=new JMenuItem("录入员工基本信息"); 修改=new JMenuItem("修改员工基本信息"); 查询=new JMenuItem("查询员工基本信息"); 删除=new JMenuItem("删除员工基本信息"); bar=new JMenuBar(); fileMenu=new JMenu("菜单选项"); fileMenu.add(录入); fi
10、leMenu.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);
11、 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); pCenter.setBackground(Color.yellow); file=new File("基本信息.txt"); if(!file.exists() try FileOutputStream out=new Fi
12、leOutputStream(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(
13、"欢迎语界面",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); ); setVisib
14、le(true); setBounds(100,50,420,380); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=录入) card.show(pCenter,"录入界面"); else if(e.getSource()=修改) card.show(pCenter,"修改界面"); else if(e.getSource()=查询) 基本信息查询.setVisible(true); else if(e.getSource()=删除) card.show(
15、pCenter,"删除界面"); public static void main(String args) new EmployeeManager(); 3、实现员工信息的录入:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class EmployeeSituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextFie
16、ld 员工号,姓名,工资; 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 JTex
17、tField(10); 姓名=new JTextField(10); 部门=new Choice(); 部门.add("请选择"); 部门.add("研发部"); 部门.add("销售部"); 部门.add("人事部"); 部门.add("安全部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",fa
18、lse); group.add(男); group.add(女); 录入=new JButton("录入"); 重置=new JButton("重置"); 录入.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("员工号:",JLabel.CENTER); box1.add(员工号); Box box2=Box.createHorizontalBox(); box2.a
19、dd(new JLabel("姓名:",JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel("性别:",JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel("部门:",JLabel.CENTER); box4.add(部门); Box box6=Box.createHoriz
20、ontalBox(); box6.add(new JLabel(" ",JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("工资:",JLabel.CENTER); box5.add(工资); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box6); boxH.add(box4); boxH.a
21、dd(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SO
22、UTH); validate(); 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(); catc
23、h(Exception ee) if(基本信息表.containsKey(number) String warning="该员工基本信息已存在,请到修改页面修改!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); else String m="基本信息将被录入!" int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTIO
24、N, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=部门.getSelectedItem(); String grade=工资.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); 员工=new Employee(); 员工.setNumber(number); 员工.setName(name); 员工.setD
25、iscipling(discipling); 员工.setGrade(grade); 员工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,员工); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 员工号.setText(null); 姓名.setText(null); 工资.setText(null); catch(Exception ee) System.
26、out.println(ee); else String warning="必须要输入员工号!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedIndex(); 工资.setText(null); 4、实现员工信息的修改:import java.awt.*;import java.aw
27、t.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 员工号,姓名,工资; Choice 部门;JRadioButton 男,女;ButtonGroup group=null;JButton 开始修改,录入修改,重置;FileInputStream inOne=null;ObjectInputStream inT
28、wo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null; public ModifySituation(File file)this.file=file;员工号=new JTextField(10);姓名=new JTextField(10); 部门=new Choice();部门.add("请选择");部门.add("研发部");部门.add("销售部");部门.add("人事部");部门.add(&qu
29、ot;安全部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 开始修改=new JButton("开始修改"); 录入修改=new JButton("录入修改"); 录入修改.setEnabled(false); 重置=new JButton("重置");
30、员工号.addActionListener(this); 开始修改.addActionListener(this); 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("输入要修改信息的员工号:",JLabel.CENTER); box1.add(员工号); box1.add(开始修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel
31、("姓名:",JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel("性别:",JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel("部门:",JLabel.CENTER); box4.add(部门); Box box6=Box.createHorizontalBox(); b
32、ox6.add(new JLabel(" ",JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel("工资:",JLabel.CENTER); box5.add(工资); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box6); boxH.add(box4); boxH.add(Box.create
33、VerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(录入修改); pSouth.add(重置); pSouth.setBackground(Color.yellow); add(pSouth,BorderLayout.SOUTH); valid
34、ate();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();
35、 catch(Exception ee) if(基本信息表.containsKey(number) 录入修改.setEnabled(true); Employee stu=(Employee)基本信息表.get(number); 姓名.setText(stu.getName(); 部门.getSelectedItem(); 工资.setText(stu.getGrade(); if(stu.getSex().equals("男") 男.setSelected(true); else 女.setSelected(true); else 录入修改.setEnabled(fals
36、e); String warning="该员工号不存在!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem(); 工资.setText(null); else 录入修改.setEnabled(false); String warning="必须要输入员工号!" JOptionPane.showMes
37、sageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem(); 工资.setText(null); else if(e.getSource()=录入修改) String number=""number=员工号.getText();if(number.length()>0)try inOne=new FileInputStream(file); inTwo=ne
38、w ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String question="该员工基本信息已存在,您想修改他(她)的基本信息吗?" JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE); String m=&q
39、uot;基本信息将被修改!" int ok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=部门.getSelectedItem(); String grade=工资.getText(); String sex=null; if(男.isSelected() se
40、x=男.getText(); else sex=女.getText(); Employee 员工=new Employee(); 员工.setNumber(number); 员工.setName(name); 员工.setDiscipling(discipling); 员工.setGrade(grade); 员工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,员工); outTwo.writeObject(基本信息表); ou
41、tTwo.close(); outOne.close(); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem(); 工资.setText(null); catch(Exception ee) System.out.println(ee); 录入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 录入修改.setEnabled(true); else String warning="该员工号没有基本信息,不能修改!" JOptionPa
42、ne.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 录入修改.setEnabled(false); elseString warning="必须要输入员工号!"JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);if(e.getSource()=重置) 员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelect
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洛阳理工学院《中国当代文学(上)》2023-2024学年第一学期期末试卷
- 四川省遂宁市重点中学2025年初三二模考试物理试题含解析
- 湖南大学《大学英语中级Ⅰ》2023-2024学年第二学期期末试卷
- 浙江省杭州市临安区、富阳区重点名校2025届中考总复习单元滚动测试卷初三生物试题含解析
- 内蒙古乌拉特前旗第一中学2025年高三最后一卷数学试题文试题含解析
- 天津外国语大学滨海外事学院《畜牧微生物学实验》2023-2024学年第二学期期末试卷
- 云南省曲靖市会泽县2025届四年级数学第二学期期末复习检测试题含解析
- 郑州亚欧交通职业学院《统计专业导论》2023-2024学年第一学期期末试卷
- 湖南省长沙市广益实验中学2025年下学期高三数学试题1月阶段测试考试试卷含解析
- 怎样收集有效的客户资料
- 2025年健康管理师考试信息整合试题及答案
- 矮小症的护理措施
- 2024年襄阳市樊城区城市更新投资发展有限公司招聘笔试真题
- 2025年中国酸奶饮品行业市场深度评估及投资战略规划报告
- 新增值税法的变化要点与实务要领
- 2024年电子商务物流挑战试题及答案
- 2025年高考英语二轮复习专题05 阅读七选五(练习)(解析版)
- 门式架搭设方案
- 铁路网络安全知识培训
- 煤矿事故案例警示
- 2025年南通师范高等专科学校高职单招(数学)历年真题考点含答案解析
评论
0/150
提交评论