JAVA课程设计职工工资管理系统_第1页
JAVA课程设计职工工资管理系统_第2页
JAVA课程设计职工工资管理系统_第3页
JAVA课程设计职工工资管理系统_第4页
JAVA课程设计职工工资管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论