欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:3773788       资源大小:280KB        全文页数:21页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    课程设计(论文)任务书学 院理 学 院专 业信息与计算科学学生姓名丁玲玲班级学号 1109010206课程名称Java面向对象程序设计课程设计课 程 设 计(论文)题目职工工资管理系统内容及要求:1、 要求:(1)使用Java语言及Eclipse开发工具设计并实现职工工资管理系统。 (2)完成添加、删除、查询、修改等功能。 (3)使用界面完成显示。2、 开发环境: Windows XP ,Java + Eclipse计划与进度安排:第12周 星期四:任务分析与总体设计 星期五:软件算法与流程设计第13周 星期一,星期二,星期三:软件编码实现 星期四:软件总体调试 星期五:软件运行分析 第14周星期二:答辩、验收程序星期四:答辩、验收程序成绩:指导教师(签字):2012年 月 日专业负责人(签字):年 月 日主管院长(签字) 年 月 日摘 要Java语言虽然发展历史比较短,但却是比较优秀的面向对象编程语言,在具有强大功能的同时,又具有突出的简单性、可移植性、安全性以及支持并发程序等优良特性。工资管理系统适合于中、小型企业公司职工工资信息管理,录入功能具有多重提示,已录入职工工资信息提示,工资信息有误提示;若文件中没有所查职工的工资信息,当修改与删除此职工信息时可以提示没有此职工的工资信息,等等。这个程序应用了基于Swing的图形化用户界面 ,利用了容器、组件以及布局管理器构建用户界面,实现了用户在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 设计目的:通过这次的设计,主要是做出一个小型的员工工资管理系统,来加强对JAVA所学知识的巩固和融会贯通,也对一个学期所学知识做一个小结,锻炼了自己思考问题和解决问题的能力。1.2 内容要求: 简单的公司工资管理系统的设计与实现(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。(2)工资的计算办法:经理:固定月薪为8000;技术员:工作时间*小时工资(100元每小时);销售员:销售额*4%提成;销售经理:底薪(5000)+所辖部门销售额总额*0.5%;(3)类的层次如下:(4)完成增删改、查询、持久化操作二 、系统总体设计在程序中,JFrame为顶层容器,包括JLabel,Jpanel等常用组件。还有File控制“基本信息 txt”,并在程序开始,初始化容器、初始化组件,设置事件监听器。此程序首先确定一个类继承JFrame作为底层容器。功能选项:JTextField为文本框,JButton为页面控制按钮。首先初始化各组按钮及基本信息表,之后创建对象,定义文本框长度,注册监听器并用到this关键字,将对象的可编辑性定义为假。应用JComboBox下拉列表组件进行岗位与性别的选择。之后进行对象的调用,进行文件的存取和文本框内的输入输出,并设置异常处理警示机制。这个设计主要是实现员工工资信息的添加、删除、查询、修改四个方面的内容,分别增加了ActionListener监听器来实现。层次如下:工资管理系统修改添加删除查询三 、系统详细设计(程序源代码)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; this.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; public 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.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.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); 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("工资管理系统")=true)&&(b.equals("123456")=true) z2 win=new z2(); win.setSize(500,400); win.setVisible(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(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,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 工资管理的添加、删除、修改、查找、退出功能的实现:import java.awt.*;import java.awt.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="经理","技术员","销售员","销售经理" SuppressWarnings( "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),L4 = new JLabel("性别:",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 JTextField("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("退出");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 JPanel(); 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(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_SPLIT,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(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(ActionEvent e) /添加方法 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 securityWarningPointX = 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);list=( LinkedList)in11.readObject();in11.close(); catch(ClassNotFoundException event) catch(IOException event) boolean b=true; int number11=list.size(); P: for(int i=0;i<number11;i+) Wage cus_1=(Wage)list.get(i); if(cus_1.s1.equals(ss1) b=false;break P; if(b=false) JOptionPane.showMessageDialog(null,"此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.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(come_in22);list=(LinkedList)in22.readObject(); boolean b2=true;int a2=0; int number2=list.size(); P: for(int i=0;i<number2;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 FileOutputStream("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) 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.readObject(); in42.close(); catch(ClassNotFoundException event) catch(IOException event) boolean b4=true; int number4=list.size(); P: for(int i=0;i<number4;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 /查询方法 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;i<number4;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=(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.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相同则提

    注意事项

    本文(JAVA课程设计职工工资管理系统.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开