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

下載本文檔

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

文檔簡介

1、摘要眾所周知,當(dāng)今社會(huì)是信息社會(huì),因此,要想加強(qiáng)人事管理,單純依靠以前的手工管理,不僅會(huì)浪費(fèi)大量的人力,物力,財(cái)力,而且效率不高,而且很難達(dá)到預(yù)期的目的。所以人事管理信息系統(tǒng)能夠提供準(zhǔn)確的人員信息,以便領(lǐng)導(dǎo)者了解企業(yè)各個(gè)部門的人員構(gòu)成,安排好工作計(jì)劃,使企業(yè)變的更高效。該系統(tǒng)能夠?qū)δ硢挝坏穆毠みM(jìn)行管理,主要功能如下是:一、人事資料輸入:輸入員工信息,如姓名、身份證號(hào)、地址、電話、部門、工資、參加工作時(shí)間、專業(yè)、職務(wù)、備注等。二、信息查詢:可根據(jù)職工編號(hào)、職工名稱、出生年月范圍、工資范圍、參加工作時(shí)間范圍等條件查詢。三、登陸檢測(cè)、用戶管理、密碼修改、權(quán)限設(shè)置。四 、系統(tǒng)初始化:包括操作員信息初始

2、化和職工信息初始化。五、用戶信息修改:擁有權(quán)限的操作員可以修改、凍結(jié)、刪除普通用戶。關(guān)鍵詞:人事信息、java、用戶界面目 錄一、設(shè)計(jì)目的1二、設(shè)計(jì)問題1三、概要設(shè)計(jì)1四、詳細(xì)設(shè)計(jì)21、定義員工類:32、主程序:43、實(shí)現(xiàn)員工信息的錄入:74、實(shí)現(xiàn)員工信息的修改:125、實(shí)現(xiàn)員工信息的查詢:196、實(shí)現(xiàn)員工信息的刪除:23五、設(shè)計(jì)總結(jié)27參考文獻(xiàn)28人事管理系統(tǒng)一、設(shè)計(jì)目的通過該課程設(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

3、程序設(shè)計(jì)中的應(yīng)用。二、設(shè)計(jì)問題設(shè)計(jì)題目:員工管理系統(tǒng)設(shè)計(jì)要求:(1)完成員工信息的添加、刪除、查詢、修改功能(2)使用用戶界面操作(3)使用文件形式完成設(shè)計(jì)思路:首先設(shè)計(jì)界面進(jìn)入面板,在面板中添加菜單選項(xiàng),并將要實(shí)現(xiàn)的功能選項(xiàng)添加其中,然后對(duì)這些選項(xiàng)實(shí)施監(jiān)聽,實(shí)現(xiàn)其功能。通過文件類型知識(shí)的應(yīng)用,實(shí)現(xiàn)對(duì)員工信息的管理。三、概要設(shè)計(jì)1、從管理員角度講,實(shí)現(xiàn)的功能是: (1) 對(duì)員工有關(guān)數(shù)據(jù)的輸入功能 a) 實(shí)現(xiàn)對(duì)員工基本信息的輸入 b) 實(shí)現(xiàn)對(duì)員工獎(jiǎng)懲信息的輸入 (2) 對(duì)員工有關(guān)數(shù)據(jù)的更新功能 由管理員進(jìn)行檔案收集,經(jīng)過對(duì)檔案資料的處理,更新員工檔案管理系統(tǒng)中的獎(jiǎng)懲相關(guān)信息(包括員工基本信息和員

4、工業(yè)績信息)。 (3) 對(duì)員工檔案信息的查詢功能 管理員可以通過自己的用戶名和密碼在因特網(wǎng)上對(duì)所有員工的信息(包括員工的檔案信息、員工的業(yè)績信息)進(jìn)行查詢。 (4) 對(duì)員工、部門和部門領(lǐng)導(dǎo)信息的簡單管理 (5) 對(duì)用戶密碼的管理 2、從普通用戶(員工)的角度講,實(shí)現(xiàn)的功能是: (1)在單位員工可以通過自己的編號(hào)和密碼在因特網(wǎng)上對(duì)自己的個(gè)人信息(包括個(gè)人的檔案信息、業(yè)績信息)進(jìn)行查詢。 (2) 對(duì)用戶密碼的管理面板設(shè)計(jì):首先設(shè)計(jì)一個(gè)容器,然后再容器中添加菜單,在菜單中添加選項(xiàng),并在容器中加入面板,面板布局設(shè)置為CardLayout,最后將面板添加進(jìn)容器。功能實(shí)現(xiàn):在錄入、查詢、修改和刪除界面中使

5、用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice為界面中加入相應(yīng)的組件,并對(duì)其進(jìn)行監(jiān)聽,同時(shí)附加了文件流的處理。員工信息管理系統(tǒng)的系統(tǒng)運(yùn)行流程圖四、詳細(xì)設(shè)計(jì)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("菜單選項(xiàng)"); fileMenu.add(錄入); fi

10、leMenu.add(修改); fileMenu.add(查詢); fileMenu.add(刪除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel("歡迎進(jìn)入員工信息管理系統(tǒng)",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、實(shí)現(xiàn)員工信息的錄入: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 員工號(hào),姓名,工資; 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; 員工號(hào)=new JTex

17、tField(10); 姓名=new JTextField(10); 部門=new Choice(); 部門.add("請(qǐng)選擇"); 部門.add("研發(fā)部"); 部門.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("員工號(hào):",JLabel.CENTER); box1.add(員工號(hào)); 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=員工號(hào).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="該員工基本信息已存在,請(qǐng)到修改頁面修改!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); else String m="基本信息將被錄入!" int ok=JOptionPane.showConfirmDialog(this,m,"確認(rèn)",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(); 員工號(hào).setText(null); 姓名.setText(null); 工資.setText(null); catch(Exception ee) System.

26、out.println(ee); else String warning="必須要輸入員工號(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)員工信息的修改: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 員工號(hào),姓名,工資; 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;員工號(hào)=new JTextField(10);姓名=new JTextField(10); 部門=new Choice();部門.add("請(qǐng)選擇");部門.add("研發(fā)部");部門.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、員工號(hào).addActionListener(this); 開始修改.addActionListener(this); 錄入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel("輸入要修改信息的員工號(hào):",JLabel.CENTER); box1.add(員工號(hào)); 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()=員工號(hào))String number=""number=員工號(hào).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="該員工號(hào)不存在!" JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 員工號(hào).setText(null); 姓名.setText(null); 部門.remove(部門.getSelectedItem(); 工資.setText(null); else 錄入修改.setEnabled(false); String warning="必須要輸入員工號(hào)!" JOptionPane.showMes

37、sageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 員工號(hào).setText(null); 姓名.setText(null); 部門.remove(部門.getSelectedItem(); 工資.setText(null); else if(e.getSource()=錄入修改) String number=""number=員工號(hào).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,"確認(rèn)",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(); 員工號(hào).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="該員工號(hào)沒有基本信息,不能修改!" JOptionPa

42、ne.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE); 錄入修改.setEnabled(false); elseString warning="必須要輸入員工號(hào)!"JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);錄入修改.setEnabled(false);if(e.getSource()=重置) 員工號(hào).setText(null);姓名.setText(null);部門.remove(部門.getSelect

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論