




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計(論文)任務書學 院理 學 院專 業信息與計算科學學生姓名丁玲玲班級學號 1109010206課程名稱java面向對象程序設計課程設計課 程 設 計(論文)題目職工工資管理系統內容及要求:1、 要求:(1)使用java語言及eclipse開發工具設計并實現職工工資管理系統。 (2)完成添加、刪除、查詢、修改等功能。 (3)使用界面完成顯示。2、 開發環境: windows xp ,java + eclipse計劃與進度安排:第12周 星期四:任務分析與總體設計 星期五:軟件算法與流程設計第13周 星期一,星期二,星期三:軟件編碼實現 星期四:軟件總體調試 星期五:軟件運行分析 第14周
2、星期二:答辯、驗收程序星期四:答辯、驗收程序成績:指導教師(簽字):2012年 月 日專業負責人(簽字):年 月 日主管院長(簽字) 年 月 日摘 要java語言雖然發展歷史比較短,但卻是比較優秀的面向對象編程語言,在具有強大功能的同時,又具有突出的簡單性、可移植性、安全性以及支持并發程序等優良特性。工資管理系統適合于中、小型企業公司職工工資信息管理,錄入功能具有多重提示,已錄入職工工資信息提示,工資信息有誤提示;若文件中沒有所查職工的工資信息,當修改與刪除此職工信息時可以提示沒有此職工的工資信息,等等。這個程序應用了基于swing的圖形化用戶界面 ,利用了容器、組件以及布局管理器構建用戶界面
3、,實現了用戶在gui操作的響應。關鍵詞:java語言;工資管理系統;swing圖形化用戶界面;gui 目 錄 摘 要2一 、設計目的及內容要求41.1 設計目的:31.2 內容要求:3二 、系統總體設計5三 、系統詳細設計(程序源代碼)63.1 構造wage函數:63.2 用戶登陸界面及主函數:63.3 工資管理的添加、刪除、修改、查找、退出功能的實現:8四 、運行結果及分析13 4.1登錄窗口144.2初始化界面154.3 添加窗口164.4刪除窗口174.5查詢窗口174.6修改窗口19五、課程總結19六、致謝20七、參考文獻20一、 設計目的及內容要求1.1 設計目的:通過這次的設計,主
4、要是做出一個小型的員工工資管理系統,來加強對java所學知識的鞏固和融會貫通,也對一個學期所學知識做一個小結,鍛煉了自己思考問題和解決問題的能力。1.2 內容要求: 簡單的公司工資管理系統的設計與實現(1)公司主要有4類人員:經理、技術員、銷售員、銷售經理。要求存儲這些人的職工號、姓名、月工資、崗位、年齡、性別等信息。(2)工資的計算辦法:經理:固定月薪為8000;技術員:工作時間*小時工資(100元每小時);銷售員:銷售額*4%提成;銷售經理:底薪(5000)+所轄部門銷售額總額*0.5%;(3)類的層次如下:(4)完成增刪改、查詢、持久化操作二 、系統總體設計在程序中,jframe為頂層容
5、器,包括jlabel,jpanel等常用組件。還有file控制“基本信息 txt”,并在程序開始,初始化容器、初始化組件,設置事件監聽器。此程序首先確定一個類繼承jframe作為底層容器。功能選項:jtextfield為文本框,jbutton為頁面控制按鈕。首先初始化各組按鈕及基本信息表,之后創建對象,定義文本框長度,注冊監聽器并用到this關鍵字,將對象的可編輯性定義為假。應用jcombobox下拉列表組件進行崗位與性別的選擇。之后進行對象的調用,進行文件的存取和文本框內的輸入輸出,并設置異常處理警示機制。這個設計主要是實現員工工資信息的添加、刪除、查詢、修改四個方面的內容,分別增加了act
6、ionlistener監聽器來實現。層次如下:工資管理系統修改添加刪除查詢三 、系統詳細設計(程序源代碼)3.1 構造wage函數: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; this.s3=s3; thi
7、s.s4=s4; this.s5=s5; this.s6=s6; this.s7=s7; this.s8=s8;3.2 用戶登陸界面及主函數: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 jframe frame; pu
8、blic container c; public worker() frame = new jframe(職工工資管理系統); c = frame.getcontentpane(); c.setlayout(null); frame.setresizable(false); jlabel information0= new jlabel(歡迎進入職工工資管理系統,jlabel.center); information0.setfont(new font(宋體,font.bold,25); information0.setsize(350,50); information0.setlocatio
9、n(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.add(yonghut); jl
10、abel 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); c.add(koulingt)
11、; 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(工資管理系統)=true)&(b.equals(123456)=true) z2 win=new z2(); win.setsize(500,400); win.se
12、tvisible(true); win.setdefaultcloseoperation(jframe.exit_on_close); win.setresizable(false); win.setlocation(100,100); else joptionpane.showmessagedialog(null,對不起,你輸入的信息錯誤!); ); registerbutton.setlocation(40,150); registerbutton.setsize(80,30); registerbutton.setfont(new font(宋體,font.bold,18); c.add
13、(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 font(宋體,font.bold,1
14、8); 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 工資管理的添加、刪除、修改、查找、退出功能的實現:import java.awt.*;import java.awt.event.*;impor
15、t 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=經理,技術員,銷售員,銷售經理; suppresswarnings( ra
16、wtypes, 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),l4 = new jlabel(
17、性別:,jlabel.center),l5 = new jlabel(年齡:,jlabel.center),l6 = new jlabel(銷售額:,jlabel.center),l7 = new jlabel(工作時間:,jlabel.center),l8 = new jlabel(總工資:,jlabel.center);jtextfield t1 = new jtextfield(編號),t2 = new jtextfield(姓名),t3 = new jtextfield(),t4 = new jtextfield(),t5 = new jtextfield(0),t6 = new jt
18、extfield(0),t7= new jtextfield(0), t8= new jtextfield(0);jlabel l9 = new jlabel(職工工資管理系統,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 jbutton(退出);sup
19、presswarnings(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 jpanel(); save.setl
20、ayout(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(l9); p2.setlayo
21、ut(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_split,p6,p4); spl
22、it_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(split_three,bord
23、erlayout.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(actionevent e) /添
24、加方法 if(e.getsource()=b_add) string ss1=null; ss1=t1.gettext(); if(combobox_position.getselecteditem().equals(經理) else if(combobox_position.getselecteditem().equals(技術員) else if(combobox_position.getselecteditem().equals(銷售員) else if(combobox_position.getselecteditem().equals(銷售經理) double securitywar
25、ningpointx = 0;wage cus=new wage(ss1, ss1, ss1, ss1, abort, securitywarningpointx, bottom_alignment, abort); if(cus.s1.equals(編號) joptionpane.showmessagedialog(null,請輸入職工信息!); elsetryfileinputstream come_in11=new fileinputstream(zhigong1.txt); objectinputstream in11=new objectinputstream(come_in11);
26、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.showmessagedialog(null,
27、此id已存在,請仔細核對!); 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(編號);t2.settext(姓名); t3.
28、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, 輸入您需要刪除職工信息的id ); try fileinputstream come_in22=new fileinputstream(zhigong1.txt); objectinputstream in22 =new objectinputstream(c
29、ome_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 file1=new fileout
30、putstream(zhigong1.txt); objectoutputstream out1=new objectoutputstream(file1); out1.writeobject(list); out1.close(); b2=false; break p; if(b2=true) joptionpane.showmessagedialog(null,沒有此職工編號為+ss10+的 工資信息!); in22.close(); catch (ioexception e1) e1.printstacktrace(); catch (classnotfoundexception e1)
31、 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=(linkedlist)in42.read
32、object(); 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,沒有此職工編號為+ss10+的工資!); else
33、 /查詢方法 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(); in42.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(b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 宣傳部合同管理制度
- 家具安裝部管理制度
- 家電售后部管理制度
- 待付款合同管理制度
- 德克士供應管理制度
- 快消品內控管理制度
- 快遞網點誰管理制度
- 總公司資質管理制度
- 總經辦經費管理制度
- 感知網安全管理制度
- 2025年上海奉賢區初三二模中考數學試卷試題(含答案詳解)
- 汽車維修工(汽車車身涂裝修復工)理論知識考核要素細目表
- 2025年企業安全生產知識競賽全套復習題庫及答案(完整版)
- 新大學語文試題及答案
- 長沙市望城區2024年八年級《數學》下學期期末試題與參考答案
- 人際關系與有效溝通培訓課件
- 動漫人物教學課件
- 深基坑土方開挖專項施工方案專家論證
- 2025年部編版語文六年級下冊期末復習計劃及全冊單元復習課教案
- 電大本科《人文英語4》期末題庫及答案
- 貼標(不干膠標)檢驗作業指導書(美國UEC驗廠質量管理體系)
評論
0/150
提交評論