JAVA課程設(shè)計(jì)員工信息管理系統(tǒng)_第1頁(yè)
JAVA課程設(shè)計(jì)員工信息管理系統(tǒng)_第2頁(yè)
JAVA課程設(shè)計(jì)員工信息管理系統(tǒng)_第3頁(yè)
JAVA課程設(shè)計(jì)員工信息管理系統(tǒng)_第4頁(yè)
JAVA課程設(shè)計(jì)員工信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JAVA員工管理系統(tǒng)實(shí)驗(yàn)報(bào)告姓名:學(xué)號(hào):班級(jí):信10-1北方工業(yè)大學(xué)理學(xué)院信息與計(jì)算科學(xué)系2013年12月17日員工管理系統(tǒng)一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)該課程設(shè)計(jì),使同學(xué)們進(jìn)一步理解概JAVA的基本概念、理論和方法,初步掌握J(rèn)DK、Eclipse的調(diào)試和應(yīng)用,以及程序中錯(cuò)誤的解決方法,明確JAVA在實(shí)際程序設(shè)計(jì)中的應(yīng)用。使課堂中學(xué)習(xí)到理論得到應(yīng)用,練習(xí)文件形式在JAVA程序設(shè)計(jì)中的應(yīng)用。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)題目:?jiǎn)T工管理系統(tǒng)設(shè)計(jì)要求:(1)完成員工信息的添加、刪除、查詢、修改功能使用用戶界面操作使用文件形式完成設(shè)計(jì)思路:首先設(shè)計(jì)界面進(jìn)入面板,在面板中添加菜單選項(xiàng),并將要實(shí)現(xiàn)的功能選項(xiàng)添加其中,然后對(duì)這些選項(xiàng)實(shí)施監(jiān)聽,實(shí)現(xiàn)其功能。通過(guò)文件類型知識(shí)的應(yīng)用,實(shí)現(xiàn)對(duì)員工信息的管理。概要設(shè)計(jì)面板設(shè)計(jì):首先設(shè)計(jì)一個(gè)容器,然后再容器中添加菜單,在菜單中添加選項(xiàng),并在容器中加入面板,面板布局設(shè)置為CardLayout,最后將面板添加進(jìn)容器。功能實(shí)現(xiàn):在錄入、查詢、修改和刪除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice為界面中加入相應(yīng)的組件,并對(duì)其進(jìn)行監(jiān)聽,同時(shí)附加了文件流的處理。詳細(xì)設(shè)計(jì)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("菜單選項(xiàng)");fileMenu.add(錄入);fileMenu.add(修改);fileMenu.add(查詢);fileMenu.add(刪除);bar.add(fileMenu);setJMenuBar(bar);label=newJLabel("歡迎進(jìn)入員工信息管理系統(tǒng)”,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("歡迎語(yǔ)界面”,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();}}

菜單選項(xiàng)錄入員工基本信息修改員工基本信息查詢員工基本蔣忠哪除員工基本信息3、實(shí)現(xiàn)員工信息的錄入:importimportimportimportimportpublic{3、實(shí)現(xiàn)員工信息的錄入:importimportimportimportimportpublic{java.awt.*;java.awt.event.*;javax.swing.*;java.io.*;java.util.*;classEmployeeSituationextendsJPanelimplementsActionListenerHashtable基本信息表=null;JTextField員工號(hào),姓名,工資;Choice部門;JRadioButton男,女;Employee^X=null;ButtonGroupgroup=null;JButton錄入,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicEmployeeSituation(Filefile){this.file=file;員工號(hào)=newJTextField(10);姓名=newJTextField(10);部門=newChoice();部門.add("請(qǐng)選擇”);部門.add("研發(fā)部");部門.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("員工號(hào):",JLabel.CENTER));box1.add(員工號(hào));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=員工號(hào).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”該員工基本信息已存在,請(qǐng)到修改頁(yè)面修改!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}else{Stringm="基本信息將被錄入!";intok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",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();員工號(hào).setText(null);姓名.setText(null);工資.setText(null);}catch(Exceptionee){System.out.println(ee);}}}}else{Stringwarnings"必須要輸入員工號(hào)!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}if(e.getSource()==重置){員工號(hào).setText(null);姓名.setText(null);部門.remove(部門.getSelectedIndex());工資.setText(null);}}}4、實(shí)現(xiàn)員工信息的修改:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;publicclassModifySituationextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField員工號(hào),姓名,工資;Choice部門;JRadioButton男,女;ButtonGroupgroup=null;JButton開始修改,錄入修改,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicModifySituation(Filefile)this.file=file;員工號(hào)=newJTextField(10);姓名=newJTextField(10);部門=newChoice();部門.add("請(qǐng)選擇");部門.add("研發(fā)部");部門.add("銷售部");部門.add("人事部");部門.add("安全部");工資=newJTextField(10);group=newButtonGroup();男=newJRadioButton("男”,true);^=newJRadioButton("女”,false);group.add(男);group.add(女);開始修改=newJButton("開始修改”);錄入修改=newJButton("錄入修改");錄入修改.setEnabled(false);重置=newJButton("重置");員工號(hào).addActionListener(this);開始修改.addActionListener(this);錄入修改.addActionListener(this);重置.addActionListener(this);Boxbox1=Box.createHorizontalBox();box1.add(newJLabel("輸入要修改信息的員工號(hào):",JLabel.CENTER));box1.add(員工號(hào));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()==員工號(hào)){Stringnumber="";number=員工號(hào).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"該員工號(hào)不存在!”;JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);員工號(hào).setText(null);姓名.setText(null);部門.remove(部門.getSelectedItem());工資.setText(null);}}else{錄入修改.setEnabled(false);Stringwarnings"必須要輸入員工號(hào)!";JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);員工號(hào).setText(null);姓名.setText(null);部門.remove(部門.getSelectedItem());工資.setText(null);}}elseif(e.getSource()==錄入修改){Stringnumber="";number=員工號(hào).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,"確認(rèn)",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();員工號(hào).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"該員工號(hào)沒有基本信息,不能修改!";JOptionPane.showMessageDialog(this,warning,“警告",JOptionPane.WARNING_MESSAGE);錄入修改.setEnabled(false);}}else{Stringwarnings"必須要輸入員工號(hào)!";JOptionPane.showMessageDialog(this,warning,”警告",JOptionPane.WARNING_MESSAGE);錄入修改.setEnabled(false);}}if(e.getSource()==重置){員工號(hào).setText(null);姓名.setText(null);部門.remove(部門.getSelectedItem());工資.setText(null);}}}

5、實(shí)現(xiàn)員工信息的查詢:5、實(shí)現(xiàn)員工信息的查詢:importimportimportimportimportpublic{java.awt.*;java.awt.event.*;javax.swing.*;java.io.*;java.util.*;classInquestextendsJDialogimplementsActionListenerHashtable基本信息表=null;JTextField員工號(hào),姓名,部門,工資;JRadioButton男,女;JButton查詢;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;Filefile=null;publicInquest(JFramef,Filefile){super(f,"查詢對(duì)話框”,false);this.file=file;員工號(hào)=newJTextField(10);查詢=newJButton("查詢”);員工號(hào).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("輸入要查詢的員工號(hào):",JLabel.CENTER));box1.add(員工號(hào));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()==員工號(hào)){Stringnumber="";number=員工號(hào).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”該員工號(hào)不存在!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}else{Stringwarnings”必須要輸入員工號(hào)!";JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);}}}}查詢對(duì)話框FX輸大要查詢的員工號(hào):0809010223姓名:陳■■性別:?男。女15^:4567部門:銷售部6、實(shí)現(xiàn)員工信息的刪除:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;publicclassDeleteextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField員工號(hào),姓名,部門,工資;JRadioButton男,女;JButton刪除;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicDelete(Filefile){this.file=file;員工號(hào)=newJTextField(10);刪除=newJButton("刪除”);員工號(hào).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("輸入要?jiǎng)h除的學(xué)號(hào):",JLabel.CENTER));box1.add(員工號(hào));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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論