ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:97.55KB ,
资源ID:12831362      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12831362.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(员工管理系统Java课程设计.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

员工管理系统Java课程设计.docx

1、员工管理系统Java课程设计课程设计(论文)任务书学院*学院专 业*学生姓名班级学号*课程名称Java语言程序设计课程设计(论文)题目员工信息管理系统设计目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3)培养学生在项目开发中的团队合作精神、创新意识及能力。设计要求(技术参数):1)对系统进行需求分析及可行性分析系统实现的目的,项目开发的背景,系统要达到的目标,开发系统所用的开发环境,预期使用的用

2、户等。2)对系统进行总体设计分析系统的功能结构模块,并给出系统的功能结构图,设计要符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。3)详细设计 设计所需的数据表,给出所需数据表的字段名称,数据类型,字符长度,字段说明,约束条件。编码实现每个子功能模块,并进行测试。计划与进度安排:周一 全天:设计解决问题方法 周四14节:调试程序周一 全天:调试程序 周四14节:完成论文,答辩成绩:指导教师(签字): 年月日 专业负责人(签字):年月日主管院长(签字): 年月日摘要Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。随着目前

3、公司规模的渐渐扩大,员工管理将成为意见不得不总是的问题。有些公司人员流动较大,而且人数动辄上百人,若采用传统的方式进行管理,不仅易出错更是一件令人痛疼的事。随着计算机的诞生,在此领域产生众多的信息管理系统来管理信息,不仅信息处理方便,而且简单强大。本系统正事其中的一项,针对员工信息管理,方便公司对员工的信息进行处理,极大减少了人事管理的工作量。另一方面,本系统中所涉及到图形用户界面设计是我们学习程序设计这门课的难点兼重点,通过审计本系统不仅巩固了我们的基础,以及程序设计能力,还锻炼了我们对程序设计的流程及大体上的把握不仅如此,在设计过程中,我们的调试能力也得到增强。使我们对设计“大程序”有了经

4、验。目前,无论是机关、事业单位、还是企业单位,员工管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而员工管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助.在现代化的企业管理中,员工管理系统有着十分重要的作用!关键词:文件和流 界面设计GUI 异常处理 Hashtable类一、设计目的随着现代社会的快速发展,我们已进入信息化时代,管理系统在人们的生活中的应用越来越广泛,它已深入到我们工作、学习、生活的各个方面。为了适应时代的发展,本次课程设计的主要任务是设计一个学生员工系统并完成一些基本操作。其目的是:(1)提高员工信息管理的运作效率,通过对雇员全面的信息采集和

5、处理;(2)运用已学的java知识编一些简单使用的程序,使我们初步具备综合运用所学Java语言基础知识,面向对象程序设计的基本思想、方法与技术;(3)由计算机来代替人工执行一系列诸如增加新员工、删除、修改、查询、显示等操作。这样就使管理人员轻松快捷的完成员工信息的管理工作。二、设计问题2.1 课设问题: 员工管理系统要求完成:(1) 完成员工的添加、删除、查询、修改功能(2) 使用界面操作(3) 使用文件完成2.2 设计思路:首先设计面板,然后往面板里添加组件,点击各个组件来实现要求的对员工信息的添加、删除、查询、修改功能。三、概要设计3.1 程序功能模块设计的实现本段代码中主要的类有Empl

6、oyeeManager和ActionEvent,设置了监听接口由ActionEvent类来实现,并且用if语句来为变量服务。后面设置了一个异常处理,使用try和catch来捕获异常。使用GUI技术实现员工的图形界面。3.2 系统总体结构系统总体结构3.3 员工信息面板功能的实现 首先构造两个面板(JPanel),分别为界面以及显示,并将其加入到容器中.主界面显示界面3.4 员工界面功能模块设计的实现录入:提示员工信息是否被录入,选择是(Y),则员工信息录入到文件中查询:在主界面中输入员工号,点击查找,若员工信息不存在则显示如图若文本文件中存在所要查找的员工信息(例如工号0801),则在主界面中

7、显示该员工信息(员工号、姓名和性别) 删除:在主界面中输入员工号,点击删除按钮,弹出对话框,选择是(Y)程序将删除词员工的所有信息。四、详细设计4.1 定义程序变量 自定义employee类,其中定义number,name,sex三个变量,分别包含setNumber 、getNumber 、setName 、getName、 setSex 、getSex方法。class employee implements java.io.Serializable String number,name,sex; public employee(); public void setNumber(String

8、number) this.number=number; public String getNumber() return number; public void setName(String name) this.name=name; public String getName() return name; public void setSex(String sex) this.sex=sex; Public String getSex () return sex; 4.2 程序面板设计定义EmployeeManager类继承JFrame,使用JLabel、JTextField、JRadioB

9、Utton、ButtonGroup、JButton等类构造各组件,使用。使用Hashtable类创建散列表对象“员工表”存放employee对象,每个employee对象用该对象的学号作为关键字。使用exists()方法判断文本文件是否存在。若存在则进行数据的写入操作。使用addActionListener()方法对JButton进行注册监听。GridLayout布局管理器对面板进行设计如下所示。public class EmployeeManager extends JFrame JLabel lb=new JLabel(录入请先输入记录,查询、删除请先输入工号,修改是对查询 + 内容改后的

10、保存!); JTextField 工号,姓名; JRadioButton 男,女; ButtonGroup group=null; JButton 录入,查询,删除,修改,显示; JPanel a,b,c,d,f; employee 员工=null; Hashtable 员工表=null; File file=null; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; public employee 工人

11、; public EmployeeManager() super(沈阳理工员工基本信息管理系统); 工号=new JTextField(10); 姓名=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 录入=new JButton(录入); 查询=new JButton(查询); 删除=new JButton(删除); 修改=new JButton(修改); 显示=new JButton

12、(显示); 录入.addActionListener(new LRAct(); 查询.addActionListener(new CXAct(); 修改.addActionListener(new XGAct(); 删除.addActionListener(new SCAct(); 显示.addActionListener(new XSAct(); 修改.setEnabled(false); a=new JPanel(); a.add(new JLabel(工号:,JLabel.CENTER); a.add(工号); b=new JPanel(); b.add(new JLabel(姓名:,J

13、Label.CENTER); b.add(姓名); c=new JPanel(); c.add(new JLabel(性别:,JLabel.CENTER); c.add(男); c.add(女); d=new JPanel(); d.setLayout(new GridLayout(6,1); d.add(a); d.add(b); d.add(c); f=new JPanel(); f.add(录入); f.add(查询); f.add(修改); f.add(删除); f.add(显示); file=new File(员工信息.txt); Hashtable 员工表=new Hashtabl

14、e(); if(!file.exists() try FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(员工表); objectOut.close(); out.close(); catch(IOException e) Container con=getContentPane(); con.setLayout(new BorderLayout(); con.add(lb, BorderL

15、ayout.NORTH); con.add(d, BorderLayout.CENTER); con.add(f, BorderLayout.SOUTH); setDefaultCloseOperation(EXIT_ON_CLOSE); setBounds(200,200,600,300); setVisible(true); 4.3 录入员工信息 以员工的员工号作为关键字,调用ObjectInputStream(new FileInputStream ()中的readObject()方法读取文本文件中的数据。使用员工表.containsKey(number)对关键字进行检测,如果数据中包含

16、该员工号,则弹出对话框提示该员工信息已存在,请到修改页面进行信息的修改,如果数据中不包含该关键字,则弹出确认对话框,点击确定,程序调用put()方法写入信息到散列表中。调用writeObject()方法将散列表写入文本文件中。如果程序在获取员工号时为空时,提示用户输入员工号。用try,catch对异常进行处理。以下为具体代码: class LRAct implements ActionListener public void actionPerformed(ActionEvent e) 修改.setEnabled(false);/功能尚未实现 String number=; number=工号

17、.getText(); if(number.length()0) try inTwo=new ObjectInputStream(new FileInputStream(file); 员工表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee)System.out.println(创建表出现问题!); if(员工表.containsKey(number) String warning=该员工信息已存在,请到修改页面修改!; JOptionPane.showMessageDialog(nu

18、ll,warning,警告, JOptionPane.WARNING_MESSAGE); else String m=确定该员工被录入?; int ok=JOptionPane.showConfirmDialog(null,m,确认, JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String sex=null; if(男.isSelected()sex=男.getText(); elsesex=女.getTe

19、xt(); 员工=new employee(); 员工.setNumber(number); 员工.setName(name); 员工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 员工表.put(number,员工); outTwo.writeObject(员工表); outTwo.close(); outOne.close(); catch(Exception ee)System.out.println(输出出现问题!); 工号.setText(null)

20、; 姓名.setText(null); else String warning=必须输入工号!; JOptionPane.showMessageDialog(null,warning, 警告,JOptionPane.WARNING_MESSAGE); 4.4 查询员工信息构造CXAct类实现ActionListener接口,对事件监听。在该类中以员工的员工号作为关键字,调用ObjectInputStream(new FileInputStream ()中的readObject()方法读取文本文件中的数据。使用员工表.containsKey(number)对关键字进行检测,如果文本框中的员工号和

21、文本文件中的数据相同,程序调用setText()方法把散列表中的员工信息显示在文本框中,如果文本框中的员工号和文本文件中的数据不相同,则程序调用JOptionPane.showMessageDialog()方法提示该员工信息不存在。如果程序获取到员工号文本框中的内容为空,则提示用户输入员工号。以下程序实现为代码: class CXAct implements ActionListener public void actionPerformed(ActionEvent e) String number=; number=工号.getText(); if(number.length()0) try

22、 inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 员工表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee)System.out.println(员工表有问题!); if(员工表.containsKey(number) 修改.setEnabled(true); employee stu=(employee)员工表.get(number); 姓名.setText(stu.getName(); if(

23、stu.getSex().equals(男)男.setSelected(true); else女.setSelected(true); else 修改.setEnabled(false); String warning=该员工不存在!; JOptionPane.showMessageDialog(null,warning, 警告,JOptionPane.WARNING_MESSAGE); else 修改.setEnabled(false); String warning=必须输入工号!; JOptionPane.showMessageDialog(null,warning, 警告,JOptio

24、nPane.WARNING_MESSAGE); class XGAct implements ActionListener public void actionPerformed(ActionEvent e) String number=工号.getText(); String name=姓名.getText(); String sex=null; if(男.isSelected()sex=男.getText(); elsesex=女.getText(); employee 员工=new employee(); 员工.setNumber(number); 员工.setName(name); 员

25、工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 员工表.put(number,员工); outTwo.writeObject(员工表); outTwo.close(); outOne.close(); 工号.setText(null); 姓名.setText(null); catch(Exception ee) System.out.println(录入修改出现异常!); 修改.setEnabled(false); class SCAct implement

26、s ActionListener public void actionPerformed(ActionEvent e) 修改.setEnabled(false); String number=工号.getText(); if(number.length()0) try inTwo=new ObjectInputStream(new FileInputStream(file); 员工表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(员工表.containsKey(number

27、) employee stu=(employee)员工表.get(number); 姓名.setText(stu.getName(); if(stu.getSex().equals(男)男.setSelected(true); else女.setSelected(true); String m=确定要删除该员工的记录吗?; int ok=JOptionPane.showConfirmDialog(null,m,确认, JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(ok=JOptionPane.YES_OPTION) 员工

28、表.remove(number); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); outTwo.writeObject(员工表); outTwo.close(); outOne.close(); 工号.setText(null); 姓名.setText(null); catch(Exception ee)System.out.println(ee); else if(ok=JOptionPane.NO_OPTION) 工号.setText(null); 姓名.setText(null)

29、; else String warning=该号不存在!; JOptionPane.showMessageDialog(null,warning, 警告,JOptionPane.WARNING_MESSAGE); else String warning=必须输入工号!; JOptionPane.showMessageDialog(null,warning, 警告,JOptionPane.WARNING_MESSAGE); 4.5 修改员工信息和添加员工信息方法类似,定义number、name、sex三个局部变量,并使用getText()方法初始化变量。调用isSelected()方法设置单选按

30、钮。创建employee类型的“员工”局部变量,调用Hastable类中的put()方法将要修改的员工信息写入到散列表“员工表” 中。调用ObjectInputStream(new FileInputStream ()中的writeObject()把散列表中的数据信息写入到文本文件中。使用trycatch来捕获异常,并进行处理。以下是程序实现修改功能的代码:class XGAct implements ActionListener public void actionPerformed(ActionEvent e) String number=工号.getText(); String name=姓名.getTex

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

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