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),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、摘要眾所周知,當(dāng)今社會是信息社會,因此,要想加強(qiáng)人事管理,單純依靠以前的手工管理,不僅會浪費(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)行管理,主要功能如下是:一、人事資料輸入:輸入員工信息,如姓名、身份證號、地址、電話、部門、工資、參加工作時(shí)間、專業(yè)、職務(wù)、備注等。二、信息查詢:可根據(jù)職工編號、職工名稱、出生年月范圍、工資范圍、參加工作時(shí)間范圍等條件查詢。三、登陸檢測、用戶管理、密碼修改、權(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)添加其中,然后對這些選項(xiàng)實(shí)施監(jiān)聽,實(shí)現(xiàn)其功能。通過文件類型知識的應(yīng)用,實(shí)現(xiàn)對員工信息的管理。三、概要設(shè)計(jì)1、從管理員角度講,實(shí)現(xiàn)的功能是: (1) 對員工有關(guān)數(shù)據(jù)的輸入功能 a) 實(shí)現(xiàn)對員工基本信息的輸入 b) 實(shí)現(xiàn)對員工獎(jiǎng)懲信息的輸入 (2) 對員工有關(guān)數(shù)據(jù)的更新功能 由管理員進(jìn)行檔案收集,經(jīng)過對檔案資料的處理,更新員工檔案管理系統(tǒng)中的獎(jiǎng)懲相關(guān)信息(包括員工基本信息和員

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

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

6、ic String getNumber() 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; pub

7、lic 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

8、 java.util.Hashtable;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;

9、 CardLayout card=null; 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(錄入); fileMenu.add(修改); fileMenu.add(查詢); fileM

10、enu.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); 修改.addActionListener(this); 查詢.addActionListener(this); 刪除.add

11、ActionListener(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(o

12、ut); 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.a

13、dd(刪除界面,基本信息刪除); 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(

14、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、實(shí)現(xiàn)員工信息的錄入:import java.awt.*;import java.awt.event.*;import javax.swing

15、.*;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; F

16、ileOutputStream 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(研發(fā)部); 部門.add(銷售部); 部門.add(人事部); 部門.add(安全部); 工資=new JTextField(10); group=new ButtonGro

17、up(); 男=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.createHo

18、rizontalBox(); 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(); box

19、6.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 pCe

20、nter=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 actionPer

21、formed(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 wa

22、rning=該員工基本信息已存在,請到修改頁面修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String m=基本信息將被錄入!; int ok=JOptionPane.showConfirmDialog(this,m,確認(rèn),JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String

23、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); ou

24、tTwo=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,警告,JOptio

25、nPane.WARNING_MESSAGE); if(e.getSource()=重置) 員工號.setText(null); 姓名.setText(null); 部門.remove(部門.getSelectedIndex(); 工資.setText(null); 4、實(shí)現(xiàn)員工信息的修改:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements A

26、ctionListener 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.f

27、ile=file;員工號=new JTextField(10);姓名=new JTextField(10); 部門=new Choice();部門.add(請選擇);部門.add(研發(fā)部);部門.add(銷售部);部門.add(人事部);部門.add(安全部); 工資=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 開始修改=new JButton(開始修改); 錄入修改=new JB

28、utton(錄入修改); 錄入修改.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=B

29、ox.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.createHorizonta

30、lBox(); 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();

31、 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 vo

32、id 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(基本信息表.

33、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.s

34、howMessageDialog(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);

35、姓名.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(Ex

36、ception ee) if(基本信息表.containsKey(number) String question=該員工基本信息已存在,您想修改他(她)的基本信息嗎?; JOptionPane.showMessageDialog(this,question,警告,JOptionPane.QUESTION_MESSAGE); String m=基本信息將被修改!; int ok=JOptionPane.showConfirmDialog(this,m,確認(rèn),JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOp

37、tionPane.YES_OPTION) String name=姓名.getText(); String discipling=部門.getSelectedItem(); String grade=工資.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); Employee 員工=new Employee(); 員工.setNumber(number); 員工.setName(name); 員工.setDiscipling(discipling); 員工.setGrade(gr

38、ade); 員工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,員工); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 員工號.setText(null); 姓名.setText(null); 部門.remove(部門.getSelectedItem(); 工資.setText(null); catch(Exception ee) System.out.p

39、rintln(ee); 錄入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 錄入修改.setEnabled(true); else String warning=該員工號沒有基本信息,不能修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 錄入修改.setEnabled(false); elseString warning=必須要輸入員工號!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);錄入修改.setEnabled(false);if(e.getSource()=重置) 員工號.setText(null);姓名.setText

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論