收藏 分销(赏)

JAVA课程设计员工信息管理系统.doc

上传人:a199****6536 文档编号:2314464 上传时间:2024-05-27 格式:DOC 页数:28 大小:241.50KB 下载积分:10 金币
下载 相关 举报
JAVA课程设计员工信息管理系统.doc_第1页
第1页 / 共28页
JAVA课程设计员工信息管理系统.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
______________________________________________________________________________________________________________ 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、定义员工类: public class Employee implements java.io.Serializable { String number,name,discipling,grade,borth,sex; public Employee() { } public void setNumber(String number) { this.number=number; } public String getNumber() { return number; } public void setName(String name) { this.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() { 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; public class EmployeeManager extends JFrame implements ActionListener { EmployeeSituation 基本信息录入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查询=null; Delete 基本信息删除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入,修改,查询,删除; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public EmployeeManager() { 录入=new JMenuItem("录入员工基本信息"); 修改=new JMenuItem("修改员工基本信息"); 查询=new JMenuItem("查询员工基本信息"); 删除=new JMenuItem("删除员工基本信息"); bar=new JMenuBar(); fileMenu=new JMenu("菜单选项"); fileMenu.add(录入); fileMenu.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); 修改.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 FileOutputStream(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("欢迎语界面",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); }}); setVisible(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(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; JTextField 员工号,姓名,工资; 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 JTextField(10); 姓名=new JTextField(10); 部门=new Choice(); 部门.add("请选择"); 部门.add("研发部"); 部门.add("销售部"); 部门.add("人事部"); 部门.add("安全部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); 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.add(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.createHorizontalBox(); 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.add(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.SOUTH); 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(); } catch(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_OPTION, 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); 员工.setDiscipling(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.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.awt.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 inTwo=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("安全部"); 工资=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton("男",true); 女=new JRadioButton("女",false); group.add(男); group.add(女); 开始修改=new JButton("开始修改"); 录入修改=new JButton("录入修改"); 录入修改.setEnabled(false); 重置=new JButton("重置"); 员工号.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("姓名:",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(); 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.add(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.SOUTH); validate(); } 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(); } 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(false); String warning="该员工号不存在!"; JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 员工号.setText(null); 姓名.setText(null); 部门.remove(部门.getSelectedItem()); 工资.setText(null); } } else { 录入修改.setEnabled(false); String warning="必须要输入员工号!"; JOptionPane.showMessageDialog(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=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close(); } catch(Exception ee) { } if(基本信息表.containsKey(number)) { String qu
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服