JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)

上傳人:仙*** 文檔編號(hào):28089506 上傳時(shí)間:2021-08-23 格式:DOC 頁數(shù):21 大?。?58.80KB
收藏 版權(quán)申訴 舉報(bào) 下載
JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)_第1頁
第1頁 / 共21頁
JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)_第2頁
第2頁 / 共21頁
JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)_第3頁
第3頁 / 共21頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《JAVA課程設(shè)計(jì)職工工資管理系統(tǒng)(21頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、Java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)課程設(shè)計(jì)(論文)任務(wù)書學(xué) 院理 學(xué) 院專 業(yè)信息與計(jì)算科學(xué)學(xué)生姓名丁玲玲班級(jí)學(xué)號(hào) 1109010206課程名稱Java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)課 程 設(shè) 計(jì)(論文)題目職工工資管理系統(tǒng)內(nèi)容及要求:1、 要求:(1)使用Java語言及Eclipse開發(fā)工具設(shè)計(jì)并實(shí)現(xiàn)職工工資管理系統(tǒng)。 (2)完成添加、刪除、查詢、修改等功能。 (3)使用界面完成顯示。2、 開發(fā)環(huán)境: Windows XP ,Java + Eclipse計(jì)劃與進(jìn)度安排:第12周 星期四:任務(wù)分析與總體設(shè)計(jì) 星期五:軟件算法與流程設(shè)計(jì)第13周 星期一,星期二,星期三:軟件編碼實(shí)現(xiàn) 星期四:軟件總體調(diào)試

2、 星期五:軟件運(yùn)行分析 第14周星期二:答辯、驗(yàn)收程序星期四:答辯、驗(yàn)收程序成績:指導(dǎo)教師(簽字):2012年 月 日專業(yè)負(fù)責(zé)人(簽字):年 月 日主管院長(簽字) 年 月 日摘 要Java語言雖然發(fā)展歷史比較短,但卻是比較優(yōu)秀的面向?qū)ο缶幊陶Z言,在具有強(qiáng)大功能的同時(shí),又具有突出的簡單性、可移植性、安全性以及支持并發(fā)程序等優(yōu)良特性。工資管理系統(tǒng)適合于中、小型企業(yè)公司職工工資信息管理,錄入功能具有多重提示,已錄入職工工資信息提示,工資信息有誤提示;若文件中沒有所查職工的工資信息,當(dāng)修改與刪除此職工信息時(shí)可以提示沒有此職工的工資信息,等等。這個(gè)程序應(yīng)用了基于Swing的圖形化用戶界面 ,利用了容器

3、、組件以及布局管理器構(gòu)建用戶界面,實(shí)現(xiàn)了用戶在GUI操作的響應(yīng)。關(guān)鍵詞:Java語言;工資管理系統(tǒng);Swing圖形化用戶界面;GUI 目 錄 摘 要2一 、設(shè)計(jì)目的及內(nèi)容要求41.1 設(shè)計(jì)目的:31.2 內(nèi)容要求:3二 、系統(tǒng)總體設(shè)計(jì)5三 、系統(tǒng)詳細(xì)設(shè)計(jì)(程序源代碼)63.1 構(gòu)造wage函數(shù):63.2 用戶登陸界面及主函數(shù):63.3 工資管理的添加、刪除、修改、查找、退出功能的實(shí)現(xiàn):8四 、運(yùn)行結(jié)果及分析13 4.1登錄窗口144.2初始化界面154.3 添加窗口164.4刪除窗口174.5查詢窗口174.6修改窗口19五、課程總結(jié)19六、致謝20七、參考文獻(xiàn)20一、 設(shè)計(jì)目的及內(nèi)容要求1.

4、1 設(shè)計(jì)目的:通過這次的設(shè)計(jì),主要是做出一個(gè)小型的員工工資管理系統(tǒng),來加強(qiáng)對(duì)JAVA所學(xué)知識(shí)的鞏固和融會(huì)貫通,也對(duì)一個(gè)學(xué)期所學(xué)知識(shí)做一個(gè)小結(jié),鍛煉了自己思考問題和解決問題的能力。1.2 內(nèi)容要求: 簡單的公司工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(1)公司主要有4類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、崗位、年齡、性別等信息。(2)工資的計(jì)算辦法:經(jīng)理:固定月薪為8000;技術(shù)員:工作時(shí)間*小時(shí)工資(100元每小時(shí));銷售員:銷售額*4%提成;銷售經(jīng)理:底薪(5000)+所轄部門銷售額總額*0.5%;(3)類的層次如下:(4)完成增刪改、查詢、持久化操作二 、系統(tǒng)總體設(shè)

5、計(jì)在程序中,JFrame為頂層容器,包括JLabel,Jpanel等常用組件。還有File控制“基本信息 txt”,并在程序開始,初始化容器、初始化組件,設(shè)置事件監(jiān)聽器。此程序首先確定一個(gè)類繼承JFrame作為底層容器。功能選項(xiàng):JTextField為文本框,JButton為頁面控制按鈕。首先初始化各組按鈕及基本信息表,之后創(chuàng)建對(duì)象,定義文本框長度,注冊(cè)監(jiān)聽器并用到this關(guān)鍵字,將對(duì)象的可編輯性定義為假。應(yīng)用JComboBox下拉列表組件進(jìn)行崗位與性別的選擇。之后進(jìn)行對(duì)象的調(diào)用,進(jìn)行文件的存取和文本框內(nèi)的輸入輸出,并設(shè)置異常處理警示機(jī)制。這個(gè)設(shè)計(jì)主要是實(shí)現(xiàn)員工工資信息的添加、刪除、查詢、修改

6、四個(gè)方面的內(nèi)容,分別增加了ActionListener監(jiān)聽器來實(shí)現(xiàn)。層次如下:工資管理系統(tǒng)修改添加刪除查詢?nèi)?、系統(tǒng)詳細(xì)設(shè)計(jì)(程序源代碼)3.1 構(gòu)造wage函數(shù):import java.awt.Panel;SuppressWarnings(serial)class Wage extends Panel String s1,s2,s3,s4;double s5,s6,s7,s8;Wage(String s1,String s2,String s3,String s4,double s5,double s6,double s7,double s8) this.s1=s1; this.s2=s2;

7、 this.s3=s3; this.s4=s4; this.s5=s5; this.s6=s6; this.s7=s7; this.s8=s8;3.2 用戶登陸界面及主函數(shù):import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.TextField;import java.awt.event.*;import javax.swing.*;SuppressWarnings(serial)public class Worker extends JFrame public

8、JFrame frame; public Container c; public Worker() frame = new JFrame(職工工資管理系統(tǒng)); c = frame.getContentPane(); c.setLayout(null); frame.setResizable(false); JLabel information0= new JLabel(歡迎進(jìn)入職工工資管理系統(tǒng),JLabel.CENTER); information0.setFont(new Font(宋體,Font.BOLD,25); information0.setSize(350,50); informa

9、tion0.setLocation(0,0); c.add(information0); JLabel yonghuL= new JLabel(用戶名:,JLabel.CENTER); yonghuL.setFont(new Font(宋體,Font.BOLD,18); yonghuL.setSize(80,30); yonghuL.setLocation(60,70); c.add(yonghuL); final TextField yonghuT=new TextField(); yonghuT.setSize(90,25); yonghuT.setLocation(170,70); c.

10、add(yonghuT); JLabel koulingL= new JLabel(口令:,JLabel.CENTER); koulingL.setFont(new Font(宋體,Font.BOLD,18); koulingL.setSize(80,30); koulingL.setLocation(60,110); c.add(koulingL); final TextField koulingT=new TextField(); koulingT.setEchoChar(*); koulingT.setSize(90,25); koulingT.setLocation(170,110);

11、 c.add(koulingT); JButton registerButton = new JButton( 登錄 ); registerButton.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) String a,b; a=yonghuT.getText(); b=koulingT.getText(); if(a.equals(工資管理系統(tǒng))=true)&(b.equals(123456)=true) z2 win=new z2(); win.setSize(

12、500,400); win.setVisible(true); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.setResizable(false); win.setLocation(100,100); else JOptionPane.showMessageDialog(null,對(duì)不起,你輸入的信息錯(cuò)誤!); ); registerButton.setLocation(40,150); registerButton.setSize(80,30); registerButton.setFont(new Font(宋體,Font

13、.BOLD,18); c.add(registerButton, BorderLayout.CENTER); JButton backButton = new JButton( 退出 ); backButton.addActionListener( new ActionListener() public void actionPerformed( ActionEvent event ) System.exit(0); ); backButton.setLocation(190,150); backButton.setSize(80,30); backButton.setFont(new Fon

14、t(宋體,Font.BOLD,18); c.add(backButton, BorderLayout.CENTER); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(350,300); frame.setLocation(100,100); frame.setVisible(true); public static void main(String args) new Worker();3.3 工資管理的添加、刪除、修改、查找、退出功能的實(shí)現(xiàn):import java.awt.*;import java.a

15、wt.event.*;import java.io.*;import java.util.*;import javax.swing.*;SuppressWarnings(serial)class z2 extends JFrame implements ActionListener SuppressWarnings(rawtypes)LinkedList list=null; public JFrame f; PrintJob p=null; Graphics g=null; public Container con; Object position=經(jīng)理,技術(shù)員,銷售員,銷售經(jīng)理; Supp

16、ressWarnings( rawtypes, unchecked )JComboBox combobox_position= new JComboBox(position); Object sex=男,女; SuppressWarnings( unchecked, rawtypes )JComboBox combobox_sex= new JComboBox(sex);JLabel L1 = new JLabel(ID:,JLabel.CENTER),L2 = new JLabel(姓 名:,JLabel.CENTER),L3 = new JLabel(崗位:,JLabel.CENTER),

17、L4 = new JLabel(性別:,JLabel.CENTER),L5 = new JLabel(年齡:,JLabel.CENTER),L6 = new JLabel(銷售額:,JLabel.CENTER),L7 = new JLabel(工作時(shí)間:,JLabel.CENTER),L8 = new JLabel(總工資:,JLabel.CENTER);JTextField T1 = new JTextField(編號(hào)),T2 = new JTextField(姓名),T3 = new JTextField(),T4 = new JTextField(),T5 = new JTextFiel

18、d(0),T6 = new JTextField(0),T7= new JTextField(0), T8= new JTextField(0);JLabel L9 = new JLabel(職工工資管理系統(tǒng),JLabel.CENTER);JTextArea showT= new JTextArea(12,33);JButton b_add=new JButton(添加);JButton b_move=new JButton(刪除);JButton b_modify=new JButton(修改);JButton b_xun=new JButton(查詢);JButton b_back=new

19、 JButton(退出);SuppressWarnings(rawtypes)z2() super(職工工資管理窗口); list=new LinkedList (); con=getContentPane(); JScrollPane pane=new JScrollPane(showT); showT.setEditable(false); T8.setEditable(false); JPanel save=new JPanel(), p2=new JPanel(),p3=new JPanel(), p4=new JPanel(), p5=new JPanel(), p6=new JPa

20、nel(); save.setLayout(new GridLayout(4,5); save.add(L1);save.add(T1);save.add(L2);save.add(T2); save.add(L3);save.add(combobox_position); save.add(L4);save.add(combobox_sex);save.add(L5);save.add(T5); save.add(L6);save.add(T6);save.add(L7); save.add(T7);save.add(L8);save.add(T8);save.add(L9); p6.add

21、(L9); p2.setLayout(new GridLayout(2,2); p3.setLayout(new GridLayout(2,2); p4.setLayout(new GridLayout(8,1); p4.add(b_add);p4.add(b_move);p4.add(b_xun); p4.add(b_modify);p4.add(b_back); p5.add(pane); JSplitPane split_one,split_two,split_three,split_four; split_one=new JSplitPane(JSplitPane.VERTICAL_S

22、PLIT,p6,p4); split_two=new JSplitPane(JSplitPane.VERTICAL_SPLIT,p4,save); split_three=new JSplitPane(JSplitPane.VERTICAL_SPLIT,save,p3); split_four=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,split_three,p5); con.add(split_one,BorderLayout.NORTH); con.add(split_two,BorderLayout.CENTER); con.add(

23、split_three,BorderLayout.SOUTH); con.add(split_four,BorderLayout.EAST); b_add.addActionListener(this); b_xun.addActionListener(this); b_move.addActionListener(this); b_modify.addActionListener(this); b_back.addActionListener(this); SuppressWarnings( rawtypes, unchecked )public void actionPerformed(A

24、ctionEvent e) /添加方法 if(e.getSource()=b_add) String ss1=null; ss1=T1.getText(); if(combobox_position.getSelectedItem().equals(經(jīng)理) else if(combobox_position.getSelectedItem().equals(技術(shù)員) else if(combobox_position.getSelectedItem().equals(銷售員) else if(combobox_position.getSelectedItem().equals(銷售經(jīng)理) do

25、uble securityWarningPointX = 0;Wage cus=new Wage(ss1, ss1, ss1, ss1, ABORT, securityWarningPointX, BOTTOM_ALIGNMENT, ABORT); if(cus.s1.equals(編號(hào)) JOptionPane.showMessageDialog(null,請(qǐng)輸入職工信息!); elsetryFileInputStream come_in11=new FileInputStream(zhigong1.txt); ObjectInputStream in11=new ObjectInputSt

26、ream(come_in11);list=( LinkedList)in11.readObject();in11.close(); catch(ClassNotFoundException event) catch(IOException event) boolean b=true; int number11=list.size(); P: for(int i=0;inumber11;i+) Wage cus_1=(Wage)list.get(i); if(cus_1.s1.equals(ss1) b=false;break P; if(b=false) JOptionPane.showMes

27、sageDialog(null,此ID已存在,請(qǐng)仔細(xì)核對(duì)!); else list.add(cus); JOptionPane.showMessageDialog(null,此職工工資信息已錄入!); try FileOutputStream file1=new FileOutputStream(zhigong1.txt); ObjectOutputStream out1=new ObjectOutputStream(file1); out1.writeObject(list); out1.close(); catch(IOException event) T1.setText(編號(hào));T2.

28、setText(姓名); T3.setText();T4.setText(); T5.setText(0);T6.setText(0);T7.setText(0); /刪除方法 if(e.getSource()=b_move) showT.setText(null); String ss10 = JOptionPane.showInputDialog(z2.this, 輸入您需要?jiǎng)h除職工信息的ID ); try FileInputStream come_in22=new FileInputStream(zhigong1.txt); ObjectInputStream in22 =new Obj

29、ectInputStream(come_in22);list=(LinkedList)in22.readObject(); boolean b2=true;int a2=0; int number2=list.size(); P: for(int i=0;inumber2;i+) Wage cus_2=(Wage)list.get(i); if(cus_2.s1.equals(ss10) a2=i; list.remove(a2); JOptionPane.showMessageDialog(null,此職工工資信息已刪除!); in22.close(); FileOutputStream f

30、ile1=new FileOutputStream(zhigong1.txt); ObjectOutputStream out1=new ObjectOutputStream(file1); out1.writeObject(list); out1.close(); b2=false; break P; if(b2=true) JOptionPane.showMessageDialog(null,沒有此職工編號(hào)為+ss10+的 工資信息!); in22.close(); catch (IOException e1) e1.printStackTrace(); catch (ClassNotFo

31、undException e1) e1.printStackTrace(); /修改方法 else if(e.getSource()=b_modify) showT.setText(null); String ss10 = JOptionPane.showInputDialog(z2.this, 輸入您需要修改職工信息的ID ); try FileInputStream come_in42=new FileInputStream(zhigong1.txt); ObjectInputStream in42 =new ObjectInputStream(come_in42); list=(Link

32、edList)in42.readObject(); in42.close(); catch(ClassNotFoundException event) catch(IOException event) boolean b4=true; int number4=list.size(); P: for(int i=0;inumber4;i+) Wage cus_4=(Wage)list.get(i); if(cus_4.s1.equals(ss10) b4=false;break P; if(b4=true) JOptionPane.showMessageDialog(null,沒有此職工編號(hào)為+

33、ss10+的工資!); else /查詢方法 if(e.getSource()=b_xun) showT.setText(null); String ss10 = JOptionPane.showInputDialog(z2.this, 輸入您需要查詢 職工信息的ID ); try FileInputStream come_in42=new FileInputStream(zhigong1.txt); ObjectInputStream in42 =new ObjectInputStream(come_in42); list=( LinkedList)in42.readObject(); in

34、42.close(); catch(ClassNotFoundException event) catch(IOException event) boolean b4=true;int a4=0; int number4=list.size(); P: for(int i=0;inumber4;i+) Wage cus_4=(Wage)list.get(i); if(cus_4.s1.equals(ss10) a4=i;b4=false;break P; if(b4=true) JOptionPane.showMessageDialog(null,沒有此職工編號(hào)為+ss10+的工資!); el

35、se Wage cha=(Wage)list.get(a4); showT.append(t職工工資條); showT.append(n ); showT.append(ID:+cha.s1); showT.append(t姓 名:+cha.s2); showT.append(n ); showT.append(崗位:+combobox_position.getSelectedItem(); showT.append(t性別:+combobox_sex.getSelectedItem(); showT.append(n ); showT.append(年齡:+cha.s5); showT.ap

36、pend(t銷售額:+cha.s6); showT.append(n ); showT.append(工作時(shí)間:+cha.s7); showT.append(t總工資:+cha.s8); /退出方法 else if(e.getSource()=b_back) System.exit(0); 四 、運(yùn)行結(jié)果及分析4.1登錄窗口進(jìn)入工資管理系統(tǒng)界面,用戶名和密碼正確才可進(jìn)入,否則顯示輸入信息錯(cuò)誤4.2初始化界面4.3 添加窗口 添加信息時(shí)如果ID相同則提示此ID已存在,請(qǐng)仔細(xì)核對(duì),如果沒輸入信息,則提示請(qǐng)輸入職工工資信息,如果正確輸入則提示此職工信息已錄入4.4刪除窗口輸入需刪除員工的ID進(jìn)行刪除

37、4.5查詢窗口輸入需查詢的員工ID進(jìn)行查詢4.6修改窗口輸入需修改信息的員工ID進(jìn)行修改信息五、 課程總結(jié)通過這次設(shè)計(jì),我深深的意識(shí)到自己在Java方面有多么的薄弱,同時(shí)深刻的體會(huì)到平時(shí)多做練習(xí)的重要性,這次設(shè)計(jì)讓對(duì)Java有了更全面的了解,在解決實(shí)際問題上能夠統(tǒng)籌全局,逐步解決。雖然這次課設(shè)做的程序不是很完美,沒有實(shí)現(xiàn)所有要求的功能,但是通過我查找資料、認(rèn)真修改,是我在Java上有顯著的提高。六 、致謝本論文是在譚曉波老師指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。在此,我向譚老師致以誠摯的謝意和崇高的敬意。同時(shí)我還要感謝我的同學(xué)們,在論文設(shè)計(jì)中,他們給了我很多的建議和幫助。我還要感謝我的論文中被引用或參考的文獻(xiàn)的作者。七 、參考文獻(xiàn)1郎波. Java語言程序設(shè)計(jì). 北京: 清華大學(xué)出版社.20052嚴(yán)桂蘭、劉甲耀、劉波.Java編程模式與范例高級(jí)應(yīng)用開發(fā).北京:機(jī)械工業(yè)出版社.20023黃明、梁旭、周紹斌.Java課程設(shè)計(jì).北京:電子工業(yè)出版社.200620 沈陽理工大學(xué)

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!