版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年舟山市青少年活動(dòng)中心招聘備考題庫完整參考答案詳解
- 2026年派往某單位專業(yè)技術(shù)輔助崗招聘備考題庫帶答案詳解
- 2026年?duì)I口中遠(yuǎn)海運(yùn)百豐泰物流供應(yīng)鏈有限公司招聘備考題庫及參考答案詳解1套
- 企業(yè)節(jié)能減排與環(huán)保管理指南
- 2026年黑河市第一人民醫(yī)院招聘臨床護(hù)士10名備考題庫及參考答案詳解1套
- 游戲化數(shù)字教育資源在小學(xué)數(shù)學(xué)教學(xué)中的應(yīng)用與實(shí)踐教學(xué)研究課題報(bào)告
- 2025年農(nóng)業(yè)生產(chǎn)技術(shù)規(guī)程與標(biāo)準(zhǔn)指南
- 2026年黑龍江省東京城林業(yè)局有限公司招聘備考題庫及參考答案詳解
- 初中物理滑輪組機(jī)械效率變量控制實(shí)驗(yàn)課題報(bào)告教學(xué)研究課題報(bào)告
- 公路交通安全設(shè)施管理與維護(hù)規(guī)范
- 2026南水北調(diào)東線山東干線有限責(zé)任公司人才招聘8人筆試模擬試題及答案解析
- 動(dòng)量守恒定律(教學(xué)設(shè)計(jì))-2025-2026學(xué)年高二物理上冊人教版選擇性必修第一冊
- 2025年全國注冊監(jiān)理工程師繼續(xù)教育題庫附答案
- 網(wǎng)絡(luò)素養(yǎng)與自律主題班會
- 波形護(hù)欄工程施工組織設(shè)計(jì)方案
- 非靜脈曲張性上消化道出血管理指南解讀課件
- 自建房消防安全及案例培訓(xùn)課件
- 2025年廣東省第一次普通高中學(xué)業(yè)水平合格性考試(春季高考)思想政治試題(含答案詳解)
- 2025云南楚雄州永仁縣人民法院招聘聘用制司法輔警1人參考筆試試題及答案解析
- 2024年和田地區(qū)遴選公務(wù)員筆試真題匯編附答案解析
- 股份掛靠協(xié)議書范本
評論
0/150
提交評論