JAVA课程设计员工信息管理系统_第1页
JAVA课程设计员工信息管理系统_第2页
JAVA课程设计员工信息管理系统_第3页
JAVA课程设计员工信息管理系统_第4页
JAVA课程设计员工信息管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA员工管理系统实验报告姓名:学号:班级:信10-1北方工业大学理学院信息与计算科学系2013年12月17日员工管理系统一、实验目的通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。二、实验内容设计题目:员工管理系统设计要求:(1)完成员工信息的添加、删除、查询、修改功能使用用户界面操作使用文件形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。概要设计面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。详细设计1、定义员工类:publicclassEmployeeimplementsjava.io.Serializable{Stringnumber,name,discipling,grade,borth,sex;publicEmployee(){}publicvoidsetNumber(Stringnumber){this.number=number;}publicStringgetNumber(){returnnumber;}publicvoidsetName(Stringname){=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、实现员工信息的录入:importimportimportimportimportpublic{3、实现员工信息的录入:importimportimportimportimportpublic{java.awt.*;java.awt.event.*;javax.swing.*;java.io.*;java.util.*;classEmployeeSituationextendsJPanelimplementsActionListenerHashtable基本信息表=null;JTextField员工号,姓名,工资;Choice部门;JRadioButton男,女;Employee^X=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)){Stringwarnings”该员工基本信息已存在,请到修改页面修改!";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();}MX=newEmployee();M工.setNumber(number);^工.setName(name);M工.setDiscipling(discipling);M工.setGrade(grade);M工.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{Stringwarnings"必须要输入员工号!";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(录入修改);pSouth.add(重置);pSouth.setBackground(Color.yellow);add(pSouth,BorderLayout.SOUTH);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==开始修改||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)){录入修改.setEnabled(true);Employeestu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.getSelectedItem();工资.setText(stu.getGrade());if(stu.getSex().equals("男”)){男.setSelected(true);}else{女.setSelected(true);}}else{录入修改.setEnabled(false);Stringwarnings"该员工号不存在!”;JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}else{录入修改.setEnabled(false);Stringwarnings"必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}elseif(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)){Stringquestion="该员工基本信息已存在,您想修改他(她)的基本信息吗?";JOptionPane.showMessageDialog(this,question,"警告",JOptionPane.QUESTION_MESSAGE);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=M.getText();}else{sex=^.getText();}EmployeeMX=newEmployee();MX.setNumber(number);MX.setName(name);MX.setDiscipling(discipling);MX.setGrade(grade);MX.setSex(sex);try{outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);基本信息表.put(number,员工);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}catch(Exceptionee){System.out.println(ee);}录入修改.setEnabled(false);}elseif(ok==JOptionPane.NO_OPTION){录入修改.setEnabled(true);}}else{Stringwarnings"该员工号没有基本信息,不能修改!";JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);}}else{Stringwarnings"必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,”警告",JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);}}if(e.getSource()==重置){员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}}}

5、实现员工信息的查询:5、实现员工信息的查询:importimportimportimportimportpublic{java.awt.*;java.awt.event.*;javax.swing.*;java.io.*;java.util.*;classInquestextendsJDialogimplementsActionListenerHashtable基本信息表=null;JTextField员工号,姓名,部门,工资;JRadioButton男,女;JButton查询;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;Filefile=null;publicInquest(JFramef,Filefile){super(f,"查询对话框”,false);this.file=file;员工号=newJTextField(10);查询=newJButton("查询”);员工号.addActionListener(this);查询.addActionListener(this);姓名=newJTextField(10);姓名.setEditable(false);部门=newJTextField(10);部门.setEditable(false);工资=newJTextField(10);工资.setEditable(false);男=newJRadioButton("男",false);^=newJRadioButton("女",false);group=newButtonGroup();group.add(男);group.add(女);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(部门);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(box4);boxH.add(Box.createVerticalGlue());JPanelpCenter=newJPanel();pCenter.add(boxH);pCenter.setBackground(Color.green);Containercon=getContentPane();con.add(pCenter,BorderLayout.CENTER);con.validate();setVisible(false);setBounds(100,200,360,270);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){setVisible(false);}});}publicvoidactionPerformed(ActionEvente){姓名.setText(null);部门.setText(null);工资.setText(null);if(e.getSource()==$^||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)){Employeestu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.setText(stu.getDisciping());工资.setText(stu.getGrade());if(stu.getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{Stringwarnings”该员工号不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{Stringwarnings”必须要输入员工号!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}查询对话框FX输大要查询的员工号:0809010223姓名:陈■■性别:•男。女15^:4567部门:销售部6、实现员工信息的删除:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;publicclassDeleteextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField员工号,姓名,部门,工资;JRadioButton男,女;JButton删除;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicDelete(Filefile){this.file=file;员工号=newJTextField(10);删除=newJButton("删除”);员工号.addActionListener(this);删除.addActionListener(this);姓名=newJTextField(10);姓名.setEditable(false);部门=newJTextField(10);部门.setEditable(false);工资=newJTextField(10);工资.setEditable(false);男=newJRadioButton("男",false);^=newJRadioButton("女",false);group=newButtonGroup();group.add(男);group.add(女);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());JPanelpCen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论