1、延安大学课程设计报告科目:数据库系统概论题目:工资管理系统学院:数学与计算机科学学院班级:软件 12成员:邓茂记:王晓武:宋彤彤:彭文丽:设计时间:2013 年 11 月 12 日2013 年 12 月 20 日目录第一章 开发背景及意义1.1 项目开发背景1.2 项目开发的目标及意义1.3 系统开发方法第二章 可行性研究2.1 目标方案可行性2.2 技术可行性2.3 经济可行性2.4 操作可行性2.5 系统流程图第三章 系统分析3.1 需求分析 3.2 数据流图3.3 数据字典第四章 数据库设计4.1 概念结构设计4.2 逻辑结构设计4.3 物理结构设计4.4 数据库结构的实现第五章 工资管
2、理系统功能实现5.1 功能界面设计5.2 实现工资管理系统的 java 代码第六章 总结与体会第一章 开发背景及意义1.1 项目开发背景众所周知当今时代的世界经济正从工业经济向知识经济转变,而知识经济的两个重要特征就是信息化合全球化。要实现信息化和全球化就必须依靠完善的网络和数据库机制。处于现在这样一个飞速发展的信息时代,在各行各业中都离不开信息处理,这正是计算机被广泛应用于管理信息系统的环境,使用计算机进行信息控制不仅提高了工作效率,而且大大的提高了其安全性。尤其是对于复杂的信息管理,计算机能够充分发挥其优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发时系统管理的前提。因此
3、,对于企业或是事业单位来说开发一套工资管理系统是很必要的。虽然企业事业单位的管理已经进入信息化管理,但对于不同的单位所需要的功能是不一样的,这样通用的软件使用效率不高,还会造成人力,财力的浪费,这样就不能满足所有单位和部门的需求。所以必须做好客户的需求分析工作,设计符合用户要求的系统。1.2 系统开发的目标及意义企业和事业单位工资管理系统唯有采用自动化,高效率,人性化的管理,才能满足服务员工的需求。工资管理系统的主要目标在于加强服务而不在于精简人力。所以系统要能提供更自动化的服务,期望以最快的速度将人事工资信息做最适当的运用。主要目标有:以自动化、系统化、高效管理代替分散重复操作;提高单位效益
4、和现代化信息管理水平;提高员工的自律性,促进员工人才的成长和流动;减轻人事工资管理员的负担,节省人力物力的开支等。引进以计算机信息管理技术和网络通讯技术,是加快人事工资管理信息服务进程的重要手段。新的管理系统的使用会给人事管理体系发生变化。这促进了工资数据管理方式和理念的转变,提高了企业单位的现代化和信息化水平,为企业带来更多的效益。1.3 系统开发方法1.开发工具:eclipse sql server 20052.开发语言:java 语言 sql 语言第二章 可行性研究2.1 目标方案可行性(1).计算机设备处理繁杂的工资增减问题,大幅度减少人力,物力,极大地提高企业的管理水平和管理效率。(
5、2).管理水平和管理效率的提高能直接产生经济效益。(3).高效率的管理形成了良好的经营氛围,为企业打造优良形象,提高企业竞争力。(4).本系统安全保密性可靠,实施独立的局域网络,人员进入系统需要登录,需输入账户和密码。(5).本系统的管理,可以根据市场需要进行调整,实用性强。2.2 技术可行性(1).工作人员一般都要求掌握计算机技术,会使用各种管理软件。(2).员工及工作人员需要熟悉系统的功能和使用方法使系统能够顺利运行。2.3 经济可行性(1).企业有能力承担系统开发费用。(2).新系统将为企业带来经济效益。管理系统是一个信息化,智能化和先进理念的集合体,其主要表现就是减少了企业管理费用和人
6、力开发。2.4 操作可行性该系统是大家熟悉的 Windows 操作系统,简单明了,操作方便,不需要对数据库进行深入了解,对于那些有一般的计算机知识的人员都可以轻松使用。2.5 系统流程图第三章 系统分析工资管理系统是一个企业单位不可或缺的部分,它能为用户提供充足的信息和快捷的查询手段,可以高效能、大容量的收集、处理、存储工资管理信息,员工录入基本信息人事管理信息员工出勤 员工加班基本工资津贴 奖金工资核算工资管理工资报表出勤信息加班信息能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的建立与健全,为企业提供
7、各种工资管理信息,以满足工资管理的特殊要求。主要任务是对员工信息和工资信息的输入、查询、修改、增加、删除,迅速准确地完成工资信息的统计计算和汇总,快速打印出报表。3.1 需求分析3.1.1 员工基本档案信息管理功能需求: 凡属于本部门的员工,都需要对其基本的档案信息做好记录存储处理。以方便高级管理人员时时的了解或查阅其员工基本信息。对员工基本信息的操作包括添加信息、修改信息、查询信息,同时在数据库中要形成员工基本信息表。 3.1.2 工资管理功能需求: (1).工资计算: 在进行工资计算之前,管理员首先应该根据部门的实际业务情况确定好各个部门中所需要的工资项目及分别对工资项目进行计算的方式,然
8、后按照系统工资种类的设定,对每个员工分别依次实际工资项目构成情况,如基本工资、工龄工资、奖金、津贴工资、加班工资等项目,录入相应的工资金额数,再计算出总的实得工资的工资项目。在数据的录入过程中系统会根据用户误输、错误输入智能提示引导用户录入数据的正确性。要形成的数据库中的表为员工工资信息表。 (2).工资统计分析: 对员工工资数据计算完后,同时要将工资信息统计分析,如汇总统计,工资项目明细数据的汇总等,又分为对员工个人工资统计分析、部门工资统计分析、月份工资统计分析。且统计分析以报表形式显示统计结果。通过报表的方式反馈到高级管理人员处,这时,在数据库中要形成员工个人工资信息统计表、部门工资信息
9、统计表、统计员工年终奖。 3.1.3 工资查询功能描述: 在查询这个模块里,系统能支持用户在客户端按照各种不同的字段名称进行工资信息的查询。同时,迅速的响应用户的查询请求,不同级别的人系统会根据其权限级别的大小享有不同程度的功能。不同级别的人不能越权进行操作。3.1.4 报表生成与打印: 在员工领取工资时,能为个人生成个人工资组成及相应金额的工资条。同时形成部门月报表。3.1.5 工资管理系统是针对企事业单位的大量业务处理工作用计算机进行全面现代化管理,主要包括:(a)员工每个工种基本工资的设定(b)加班津贴管理,根据加班时间和类型给予不同的加班津贴;(c)按照不同工种的基本工资情况、员工的考
10、勤情况产生员工的每月的月工资;(d)员工年终奖金的生成,员工的年终奖金计算公式(员工本年度的工资总和津贴的总和)/12;(e)企业工资报表。能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;3.1.6 员工月工资是指各单位在一个月时期内支付给本单位全体员工的全部劳动报酬。员工月工资=基本工资+ 工龄工资 +津贴+加班工资+奖金3.1.7 系统功能模块该系统分为员工管理功能模块,工资管理功能模块,工资统计功能模块,工资报表查询功能模块。对工资管理系统各个功能模块的说明:(1).员工管理功能模块:实现对员工信息的查询、修改、添加、删除。(2).工资管理功能模块:实现对员工
11、基本工资的设定与查询,对员工加班、请假、旷工标准工资的设定,对员工总工资的计算。(3).工资统计功能模块:实现对员工工资的统计功能。(4).工资报表查询功能模块:产生每个员工的月工资报表,提交到相应部门。3.2 数据流图根据系统功能的描述,得到工资管理系统的数据流图如下:1.顶层数据流图与 0 层数据流图管理 查询浏览系统管理员工资管理系统员工工资管理系统员工管理功能 工资管理功能添加员工信息修改员工信息删除员工信息基本信息查询职务工资设定工资查询生成工资年终奖查询考勤信息查询退出员工查询 系统图 3.1 顶层数据流图录 员工号入 考勤设定 考勤工津贴 资基本工资 员公 工工 式 信资 息信
12、总息 工资工资表 输出图 3.2 0 层数据流图2.各层功能模块数据流图工种表工员工编号 资表员工员工考勤信息员工基本信息人事管理系统员工信息员工津贴信息工资计算部门打印工资报表主管部门基本工资信息基本工资信息查询员工基本信息查询工种基本工资工种基本工资基本工资设定工资汇总 年终奖生成产生工资报表图 3.3 工种基本工资设定考勤表工员工编号 资表津贴表图 3.4 员工津贴设定年度工资总和工员工编号 公式 资表津贴总和图 3.5 员工年终奖生成工种表工员工编号 资信息考勤表 津贴 工资数据图 3.6 工资核算考月工资查询要求 工 勤 工资 表 种表 表员工信息 查询规则 查询结果查询要求津津贴管
13、理 员工津贴工资年终奖生成 员工年终奖查询部门及员工信息工资录入要求加工查询处理输出到打印机贴员工信息表 表打印图 3.7 信息查询3.3 数据字典数据字典是系统中各类数据描述的集合简要说明工资管理系统的数据字典。(1).名字:员工编号别名:员工号描述:员工号唯一地标识数据库中职工信息相关表中的一个特定员工的关键域定义:职工号=6char位置:员工信息表考勤表工资表(2).名字:职务别名:员工职务描述:职务能唯一地标识数据库中职务基本工资信息相关表中的一个特定职务的关键域定义:职务=10char位置:员工信息表职务工资表(3).名字:加班类型别名:加班类型描述:加班类型能唯一地标识数据库中员工
14、津贴信息相关表中的一个特定加班类型的关键域定义:加班类型=10char位置:员工津贴表员工考勤表(4).名字:员工信息表别名:员工基本信息描述:用户指定条件下的员工基本信息情况查询结果的信息表定义:员工信息表=员工号+员工姓名+性别+出生日期+职务+学历+电话号码+住址+身份证号位置:输出到员工工资表(5).名字:考勤信息表别名:考勤信息描述:用户指定条件下的员工考勤信息查询结果的信息表定义:员工考勤信息表=考勤编号+员工号+员工姓名+加班天数+请假天数+旷工天数+考勤日期+加班类型位置:输出到员工工资表(6)名字:员工津贴表别名:员工津贴信息表描述:用户指定条件下的员工加班类型给予不同加班津
15、贴的信息表定义:员工津贴表=加班类型+加班津贴位置:输出到员工工资表(7).名字:职务工资表别名:职务基本工资信息表描述:用户指定条件下的职务基本工资信息查询结果的信息表定义:职务工资表=职务+基本工资+加班标准+请假标准+旷工标准+奖金位置:输出到员工工资表(8).名字:员工工资表别名:工资信息描述:记录工资的组成部分以及员工的工资情况的信息定义:工资信息报表=员工编号+员工姓名+基本工资+加班津贴+加班费+请假扣款+旷工扣款+奖金+实发工资位置:输出到打印机 第四章 数据库设计4.1 概念结构设计1. 根据如上的信息可得到实体之间的关系 E-R 图如下:11员工性别姓名身份证号编号住址出生
16、日期职务 学历电话领取工资基本工资津贴工资加班工资 旷工扣款加班费奖金请假扣款图 4.1 E-R 图11 1 n1n n 1 11 1 1 111 11 11 111 1实体图 4.2 总 E-R 图4.2 逻辑结构设计(1)员工考勤表(Checkstat):考勤编号(CheckID) ,员工编号(Eno) ,员工姓名(Ename ) ,加班天数(OvertimeDay) ,旷工天数( AbsentDay) ,请假天数(LeaveDay) ,考勤日期(CheckDate) ,加班类型( OvertimeType)(2)员工津贴表(Allowance):加班类型(OvertimeType ) ,
17、加班津贴(Osubsidy)(3)员工信息表(Emplogee):员工编号(Eno) ,员工姓名(Ename) ,性别(Esex) ,出生年月(Ebirth ) ,职务(Eduty) ,学历(Eedu) ,电话(Etel),身份证号(IDidentity) ,住址(Eaddr)(4)员工工种表(Wageconfig):主管部门员工 请假扣款加班工资旷工扣款员工基本信息工资年终奖基本工资属于领导旷工加班请假录入设定工资计算计算公式天数天数天数加班标准请假标准旷工标准奖金职务(Eduty) ,基本工资(BaseWage) ,加班标准(OverDay) ,请假标准(LeaveDay) ,旷工标准(A
18、bsentDay) ,奖金(Bonus)(5)员工工资表(Wage):员工编号(Eno) ,员工姓名(Ename) ,基本工资(BaseWage) ,加班津贴(Osubsidy0) ,加班费(OvertimeWage) ,请假扣款(LeaveDayWage) ,旷工扣款(AbsentDayWage ) ,奖金(Bonus ) ,实发工资(ActWage )依据上面的关系模式,设计数据表如下:(1).员工考勤表(Checkstat):记录员工的到职情况列名 数据类型 长度 属性 描述CheckID int 主键 考勤编号Eno char 6 外键 员工编号Ename Char 15 不允许空 员
19、工姓名OvertimeDay Smallint 加班天数AbsentDay Smallint 旷工天数LeaveDay Smallint 请假天数CheckDate Smalldatetime 考勤日期OvertimeType Char 10 加班类型(2).员工津贴表(Allowance):记录员工的加班津贴信息列名 数据类型 长度 属性 描述OvertimeTypeChar 10 主键 加班类型Osubsidy Money 不为空 加班津贴(3).职务工资表(wageconfig):记录职务的基本工资列名 数据类型 长度 属性 描述Eduty Char 10 主键 职务BaseWage M
20、oney 不为空 基本工资OvertimeWageMoney 不为空 加班标准LeaveWage Money 不为空 请假标准AbsentWage Money 不为空 旷工标准Bonus Money 不为空 奖金(4)员工信息表(Emplogee):记录员工的基本信息列名 数据类型 长度 属性 描述Eno Char 6 主键 员工编号Ename Char 15 不为空 员工姓名Esex Char 10 不为空 性别Ebirth Datetime 出生日期Eduty Char 10 外键 职务Eedu Char 10 学历Etel nvarchar 50 电话IDidentity nvarcha
21、r 50 身份证号Eaddr Char 10 地址(5)员工工资表(Wage):记录保存计算出来的工资列名 数据类型 长度 属性 描述Eno Char 6 主键 员工编号Ename Char 15 不为空 员工姓名BaseWage Money 不为空 基本工资Osubsidy Money 不为空 加班津贴OvertimeDayWageMoney 不为空 加班费LeaveDayWage Money 不为空 请假扣款AbsentDayWage Money 不为空 旷工扣款Bonus Money 不为空 奖金ActWage Money 不为空 实发工资4.3 物理结构设计1.员工基本信息数据表定义其
22、中, “Eno”是表的主键,唯一标识。 “Eduty”是外键。此表取名为“Emplogee” 。2.员工考勤信息数据表定义其中, “CheckID”是主键,唯一标识。 “OvertimeType”为外键。此表取名为”Checkstat“。3.员工津贴信息数据表定义其中, ”OvertimeType“为主键,唯一标识。此表取名为”Allowance“。4.职务基本工资信息数据表定义其中, ”Eduty”为主键,唯一标识。此表取名为 “Wageconfig”5.工资信息数据表定义其中, “Eno”为主键,唯一标识。此表取名为“Wage”4.4 数据库结构的实现1. 数据库表的创建(1)创建 Wag
23、econfig 表:create table Wageconfig(Eduty char(10) primary key,BaseWage money,OverDay money,LeaveDayWage money,AbsentDayWage money,Bonus money,);(2)创建 Allowance 表:create table Allowance(OvertimeType char(10) primary key,Osubsidy money,);(3)创建 Checkstat 表:create table Checkstat(CheckID int primary key,
24、Eno char(6) not null,Ename char(15) not null,OvertimeDay smallint,AbsentDay smallint,LeaveDay smallint,CheckDate smalldatetime,OvertimeTtpe char(10),);(4)创建 Emplogee 表:create table Emplogee(Eno char(6) primary key,Ename char(15) not null,Esex char(10) not null,Ebirth datetime,Eduty char(10),Eedu cha
25、r(10),Etel nvarchar(50),IDidentity nvarchar(50),Eaddr char(10),);(5)创建 Wage 表:create table Wage(WageID int primary key,Eno char(6) not null,Ename char(15) not null,BaseWage money not null ,Osubsidy money not null,OvertimeWage money not null,LeaveDayWage money not null,AbsentDayWage money not null,Bo
26、nus money not null,ActWage money not null,);2. 数据库关系图:第五章 工资管理系统功能实现5.1 功能界面设计5.1 .1 系统登录界面的设计输入用户名和密码,点击登录可以进入工资管理系统。5.1.2 系统主界面功能设计各个菜单按钮下的子系统有:系统(退出)员工管理(添加员工基本信息,修改员工基本信息,删除员工基本信息)工资管理(设定职务工资,工资报表生成,月工资查询,年终奖查询)员工查询(员工基本信息查询,员工考勤信息查询)5.1.3 添加员工基本信息界面设计输入员工编号,姓名,性别,出生日期,职务,学历,电话,身份证号码,住址能将员工的基本信息
27、添加到数据库表中。5.1.4 删除员工基本信息界面设计输入员工编号可以删除数据库表中员工的基本信息。5.1.5 修改员工基本信息界面设计输入员工编号将员工信息显示出来,然后进行修改。5.1.6 设定职务基本工资界面设计输入职务名称将职务各项标准显示出来,然后进行重新设定。5.1.7. 工资报表生成界面设计通过员工编号查出员工姓名,职务,加班天数,请假天数,旷工天数及加班类型,填入到对应框中,然后通过职务名称查出基本工资,加班标准,请假标准,旷工标准及奖金,填入对应框中,通过加班类型查出加班津贴,最后计算出加班费,请假减薪,旷工减薪,实发工资。产生员工工资。5.1.8 员工月工资查询界面设计输入
28、员工编号可以查询员工的月工资。5.1.9 员工年终奖查询界面设计输入员工编号可以查询员工的年终奖。5.1.10 员工基本信息查询界面设计输入员工编号可以查询员工基本信息。5.1.11 员工考勤及员工加班津贴查询界面设计输入员工编号可以查询员工考勤信息,输入员工加班类型可以查询员工加班津贴。5.2 实现工资管理系统的 java 代码(1)登录界面代码package gzgl;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;i
29、mport java.awt.event.ActionListener;import java.sql.Connection;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import gzgl
30、.MainFrame;import gzgl.DBConnect;public class LogOn public static void main(String args)final JFrame jfrmlogin=new JFrame(“系统登录“);/框标题是 系统登录jfrmlogin.setSize(400,280);/设置框的大小Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();jfrmlogin.setLocation(int) (screenSize.width-400)/2,(int)(scr
31、eenSize.height-300)/2);/设置框出现的位置/构建面板 p1、p2、p3/p1-用户名+文本框JPanel p1=new JPanel();p1.add(new JLabel(“用户名:“);final JTextField jtxtuser=new JTextField(14);/p2-密码+文本框JPanel p2=new JPanel();p2.add(new JLabel(“密码:“);final JPasswordField jspwd=new JPasswordField(14);/p3-登陆+退出 两按钮JPanel p3=new JPanel();JButt
32、on jbtok=new JButton(“登录“);JButton jbtexit=new JButton(“退出“);/将组件加入到面板中p1.add(jtxtuser);p2.add(jspwd);p3.add(jbtok);p3.add(jbtexit);/,登陆键的监听器设置jbtok.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String a,b;a=jtxtuser.getText();/获取用户输入的信息/密码框置为不可见的字符b=jspwd.getText()
33、; if(a.equals(“dmj“)=true)MainFrame mf=new MainFrame();mf.setVisible(true);jfrmlogin.dispose();elseJOptionPane.showMessageDialog(null,“用户名或密码不一致,请重新输入!“,“系统提示“,JOptionPane.ERROR_MESSAGE);/不正确则将用户框和密码框都置空jtxtuser.setText(“);jspwd.setText(“););jbtexit.addActionListener(new ActionListener()public void
34、actionPerformed(ActionEvent e)JOptionPane.showMessageDialog(null,“您已成功退出系统!“,“系统提示“,JOptionPane.CANCEL_OPTION);System.exit(0););/采用网格布局jfrmlogin.getContentPane().setLayout(new GridLayout(3,1);jfrmlogin.getContentPane().add(p1);jfrmlogin.getContentPane().add(p2);jfrmlogin.getContentPane().add(p3);jfr
35、mlogin.setVisible(true);(2)主函数代码package gzgl;import java.awt.Dimension;import java.awt.Toolkit;import gzgl.MainFrame;public class Main public static void main (String args) /创建主界面,调用 MainFrame()构造函数和方法MainFrame frame=new MainFrame();/获取屏幕尺寸Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSi
36、ze();/获取主界面的窗体尺寸Dimension frameSize =frame.getSize();/令主界面窗体居中if(frameSize.heightscreenSize.height)frameSize.height=screenSize.height;if(frameSize.widthscreenSize.width)frameSize.width=screenSize.width;frame.setLocation(screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);/令主界
37、面显示frame.setVisible(true);(3)用 JDBC 连接 java 与数据库的代码package gzgl;import java.sql.Connection;import java.sql.DriverManager;public class DBConnect /静态方法提高数据库的连接效率public static Connection getConn() throws Exception/加载 JDBC 驱动Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“);/以系统默认用户身份,连接数据库
38、StudentManagerreturn DriverManager.getConnection(“jdbc:sqlserver:/localhost:1433; DatabaseName=gzglxt“,“gzglxt“,“123456“);(4)系统主框架界面代码package gzgl;import java.awt.Dimension;import java.awt.Font;import java.awt.Rectangle;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.
39、ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import gzgl.AddEmployee;import gzgl.AddSalary;import gzgl.DeleteEmployee;import gzgl.EmployeeH
40、elp;import gzgl.InquireOnGH;import gzgl.InquireOnName;import gzgl.ModifyEmployee;import gzgl.ModifySalary;import gzgl.SalaryInquire;public class MainFrame extends JFrame implements ActionListener/创建内容面板JPanel contentPane;/创建菜单栏组件的对象JMenuBar jMenuBar1=new JMenuBar();/菜单条JMenu jMenu0=new JMenu(“系统“);/
41、菜单JMenuItem jMenuItem0=new JMenuItem(“退出“);/子菜单JMenu jMenu1=new JMenu(“员工管理“);JMenuItem jMenuItem1=new JMenuItem(“添加员工信息“);JMenuItem jMenuItem2=new JMenuItem(“修改员工信息“);JMenuItem jMenuItem3=new JMenuItem(“删除员工信息“);JMenu jMenu2=new JMenu(“工资管理“);JMenuItem jMenuItem4=new JMenuItem(“工资查询“);JMenuItem jMe
42、nuItem5=new JMenuItem(“设定职务工资“);JMenuItem jMenuItem8=new JMenuItem(“工资生成“);JMenuItem jMenuItem9=new JMenuItem(“年终奖查询“);JMenu jMenu3=new JMenu(“员工查询“);JMenuItem jMenuItem6=new JMenuItem(“员工信息查询“);JMenuItem jMenuItem7=new JMenuItem(“员工考勤查询“);/创建标签,用于显示信息JLabel jLabel1=new JLabel(“ 欢迎使用工资管理系统“);JLabel
43、jLabel2=new JLabel(“ 延安大学软件 12 课程设计“);/创建构造方法public MainFrame()try/关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);/调用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/界面初始化方法private void jbInit() throws Exception/创建内容面板contentPane =(JPanel) getContentPane();/设置内容面板的布局为空cont
44、entPane.setLayout(null);/主框架的大小Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();setLocation(int) (screenSize.width-400)/2,(int)(screenSize.height-360)/2);setSize(new Dimension(400,500);/主框架的标题setTitle(“工资管理系统“);/添加事件监听器jMenuItem0.addActionListener(this);jMenuItem1.addActionListener(t
45、his);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);jMenuItem6.addActionListener(this);jMenuItem7.addActionListener(this);jMenuItem8.addActionListener(this);jMenuItem9.addActionListener(this);/添加菜单条到主框架setJM
46、enuBar(jMenuBar1);/添加菜单到菜单条jMenuBar1.add(jMenu0);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenu3);/添加菜单项到菜单jMenu0.add(jMenuItem0);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem3);jMenu2.add(jMenuItem4);jMenu2.add(jMenuItem5);jMenu2.add(jMenuItem8);jMenu2.add(jMen
47、uItem9);jMenu3.add(jMenuItem6);jMenu3.add(jMenuItem7);/添加标签到主框架内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);/设置标签组件的大小和字体jLabel1.setFont(new java.awt.Font(“黑体“,Font.BOLD,20);jLabel1.setBounds(new Rectangle(65,70,275,55);jLabel2.setFont(new java.awt.Font(“黑体“,Font.BOLD,16);jLabel2.setBounds(
48、new Rectangle(90,150,200,35);/菜单项事件对应的处理方法public void actionPerformed(ActionEvent actionEvent)/点击“系统”菜单下的“ 退出”菜单项if(actionEvent.getSource()=jMenuItem0)JOptionPane.showMessageDialog(null,“您已成功退出系统!“,“系统提示“,JOptionPane.CANCEL_OPTION);System.exit(0);/点击“职工管理”菜单下的“ 添加职工”菜单项if(actionEvent.getSource()=jMe
49、nuItem1)/创建“添加职工”面板对象AddEmployee AddEmp=new AddEmployee();/移除主框架上原有的内容this.remove(this.getContentPane();/加载“添加职工”面板的对象到主框架this.setContentPane(AddEmp);/令界面可见this.setVisible(true);/点击“职工管理”菜单下的“ 修改职工”菜单项if(actionEvent.getSource()=jMenuItem2)/创建“修改职工”面板对象ModifyEmployee ModifyEmp=new ModifyEmployee();this.remove(this.getContentPane();/加载“修改职工”面板的对象到主框架this.setContentPane(ModifyEm