JAVA课程设计职工工资管理系统.doc

上传人:文库蛋蛋多 文档编号:3773788 上传时间:2023-03-21 格式:DOC 页数:21 大小:280KB
返回 下载 相关 举报
JAVA课程设计职工工资管理系统.doc_第1页
第1页 / 共21页
JAVA课程设计职工工资管理系统.doc_第2页
第2页 / 共21页
JAVA课程设计职工工资管理系统.doc_第3页
第3页 / 共21页
JAVA课程设计职工工资管理系统.doc_第4页
第4页 / 共21页
JAVA课程设计职工工资管理系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《JAVA课程设计职工工资管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计职工工资管理系统.doc(21页珍藏版)》请在三一办公上搜索。

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(); catc

34、h(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,没有此职工编号为+ss10+的工资!); else Wage cha=(Wag

35、e)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.append(t销售额:+cha.s6); showT.append(n ); showT.append(工作时间:+cha.s7); showT.append(t总工资:+cha.s8); /退出方法 else if(e.getSource()=b_back) System.exit(0); 四 、运行结果及分析4.1登录窗口进入工资管理系统界面,用户名和密码正确才可进入,否则显示输入信息错误4.2初始化界面4.3 添加窗口 添加信息时如果ID相同则提

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号