- 66.49 KB
- 2022-05-17 13:30:54 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
课程设计总结报告设计题目:公司员工考勤管理系统设计学院数学与计算科学学院专业信息与计算科学班级14信计四班学号14070204**姓名黎*文指导老师彭*辉时间2016年LL月20日
摘要公司考勤系统项目描述:开发背景:在公司内,员工的考勤通常缺乏方便且有效的管理手段,针对此需求需耍开发一套考勤管理系统。价值:公司考勤系统他类别与普通的系统更方便,更简洁,更容易上手,能更直观的反应出每个员工的考勤,对员工的管理就更有效率。这个系统适用于所有公司。开发工具:oraclellg,Eclipse开发语言:Java核心技术:JOBC对数据库的操作,操作界面的设计,各种布局方式和插件(1)使用JFrame控件进行界面设计(2)使用静态字段实现窗体间的数据传递(3)使用代码方式向容器控件中添加控件需求分析:(1)登录主界而(2)功能主窗口(3)设置工作时间:只限管理员(4)修改密码(5)员工管理信息(只限管理员):(只限管理员)(6)考勤信息管理:只限管理员(7)考勤登记:只限员工(8)重新登录(9)退出(10)关于帮助功能模块的难点技术和实现思路:考勤信息管理:只限管理员在界面中显示考勤信息,并作出相应更改,以及数据的输入。
一.需求分析:公司需要存储雇员的编号、姓名、性别、所在部门,级别,。其中,雇员分为经理、技术人员、销售人员和销售经理。销售经理能够管理所有人的信息,其他人只能查看自己的信息,采用以往的方式,显得复杂和麻烦,现在,我们开发出员工考勤管理的系统,对员工的考勤进行动态的管理。随着现代科技的进步,用计算机来进行考勤的管理也成为现代化企业运作必不可少的一部分。在过去我们的考勤工作都是人工完成的,不仅浪费了很多的人力跟物力,而且无法保证其准确性和透明度;给企业的管理带来了许多的不便。现在利用计算机来管理我们的考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原木复杂和枯燥无味的工作变得简单而轻松了。计算机技术特别是数据库技术的发展为企业建立管理信息系统,其至对改变管理思想起着不可估量的作用。实践证明信息技术己在企业的管理层面扮演越來越重要的角色。二.概要设计设计本考勤系统目的是为企业解决员工考勤的繁琐工作,减轻企业负担,减少不必要的劳动力、金钱的损耗,提高工作效率,为企业创造更多效益,实现单位考勤管理的系统化、规范化和自动化。因此本系统主要需要实现以下几个功能:管理员登录及信息维护,员工信息维护,数据采集,基本数据(请假类型,和数据)维护,数据库管理,查询功能,,请假、休假记录等。具体分析见下:2.1登录系统:包括用户登录、修改密码、退岀系统等。登录分为两种形式,客户和管理员。用户名或密码不知道或者错误时将自动以客户登录,除了系统模块外的所有模块都呈现不町激活状态,不能进行操作。2.2基本操作:(1)添加功能:程序能够任意添加记录,,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并转化为修改。(2)查询功能:可根据编号、姓名等信息对已添加的员工信息和休假信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的人员记录和休假记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。(6)统计功能:能对所有人员进行统计。(7)保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。(8)读取功能:可将保存在数据库中的信息读入到当前系统中,供用户进行使用。
一.详细设计3.1使用到的类的介绍:(1)AddMenu:实现添加菜单功能的类。(2)BoxPanel:继承JPanel类,有JLabel;JTextField两个变量,显示主界面中的变量名和内容。(4)Boxpanelpass:继承JPanel类,JPasswordField,有JPasswordField变量,实现密码的输入。⑸DateBaseConn:数据库连接类,有一个连接数据库的函数returnConn();⑹DeleteMenu:删除功能的实现(7)LeaveB:—个抽象类,继承JDialog类,显示的作用。⑻LeaveBL:继承LeaveB类,实现请假的功能。⑼LeaveBV:继承LeaveB类,实现休假的功能。(10)Logpage:登录界面的类。(11)Operatepage:操作界面的类(12)SaveMenu:实现保存菜单的类(13)ShowAII:实现统计菜单中子菜单显示所有子菜单的类(14)ShowStaffMenu:实现显示菜单的类(15)Staff:记录员工信息的类3.2登录系统的设计:(1)导入了以下类,importjavax.swingJButton;importjavax.naming.spi.DirStateFactory.Result;importjavax.swing.BoxLayout;importjavax.swing」magelcon;importjavax.swingJFrame;importjavax.swing」Label;importjavax.swingJOptionPane;importjavax.swingJPanel;importjavax.swing」PasswordField;importjavax.swingJTextField;
通过布局使界而如下:公司员工考勁管理系统登录界面*12345678•号3E«:3.3操作界面的设计:使用以下导入的类进行界面设计:importjavax.swing.Box;importjavax.swing」Button;importjavax.swing」Frame;importjavax.swing.JLabel;importjavax.swing」Menu;importjavax.swing」MenuBar;importjavax.swing」IVIenuItem;importjavax.swing.JPanel;最终效果如下:•vvnx-oxMIM■承1*40)JOptionPane.showMessageDialog(a.panell,"删除成功,请继续操作!”);elseJOptionPane.showMessageDialog(a.panell,"删除失败,请确认后再操作!”);sts.close();conn.closef);}catch(SQLExceptione){e.printStackTrace();}AddMenual=newAddMenu(a);al.clear(a);
LeaveB类:packagecom.Listen;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.SQLException;importjavax.swing[Button;importjavax.swing[Dialog;importjavax.swingJPanel;publicclassLeaveBextendsJDialogimplementsActionUstener{JPaneltopPanel;JButtonsureB,exitB;publicLeaveB(){setBounds(200,350,200,100);setVisible(true);setLayout(newGridLayout(2,1));topPanel=newJPanel();sureB=newJButton("确定”);exitB=newJButton("取消”);topPanel.add(sureB);topPanel.add(exitB);sureB.addActionListener(this);exitB.addActionListener(this);add(topPanel);}publicvoidsave(Operatepagea){SaveMenual=newSaveMenu();a.sickDay.text.getText();try{al.SaveDate(null);}catch(InstantiationException|lllegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}}publicvoidactionPerformed(ActionEvente){if(e.getSource()==exitB){dispose();LeavaBL类:packagecom.Listen;importjava.awt.event.ActionEvent;importjava.sql.SQLException;importjavax.swing.JOptionPane;publicclassLeaveBLextendsLeaveB{Operatepagea;
publicvoidsave(Operatepagea){intil,i2;SaveMenual=newSaveMenu();il=lnteger.parselnt(a.sickDay.text.getText());il++;a.sickDay.text.setText(String.valueOf(il));i2=lnteger.parselnt(a.sickDayOff・text・getText());i2--;a.sickDayOff.text.setText(String.valueOf(i2));try{al.UpdataDate(a);}catch(InstantiationException|lllegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}JOptionPane.showMessageDialog(topPanelz"病假天数:,,+a.sickDay.text.getText()+"n"+"剩余病假天数:"+a.sickDayOff.text.getText());}publicvoidactionPerformed(ActionEvente){if(e.getSource()==sureB){save(a);a.buttonl.setEnabled(false);dispose();}elseif(e.getSource()==exitB){dispose();}}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubnewLeaveBL();
LeaveBV类:packagecom.Listen;importjava.awt.event.ActionEvent;importjava.sql.SQLException;importjavax.swing.JOptionPane;publicclassLeaveBVextendsLeaveB{Operatepagea;publicLeaveBV(){}publicvoidsave(Operatepagea){intil,i2;SaveMenual=newSaveMenu();il=lnteger.parselnt(a.offDay.text.getText());++il;a.offDay.text.setText(String.valueOf(il));i2=lnteger.parselnt(a.offDayOff.text.getText());-i2;a.offDayOff.text.setText(String.valueOf(i2));try{al.UpdataDate(a);}catch(InstantiationException|HlegalAccessException|ClassNotFoundException|SQLExceptionel){el.printStackTrace();}JOptionPane.showMessageDialogftopPanel,a.name.text.getText()+"n"+"带薪休假天数:"+a.offDay.text.getText()+"n"+"剩余带薪休假天数:n+a.offDayOff.text.getText());}publicvoidactionPerformed(ActionEvente){if(e.getSource()==sureB){save(a);a.button2.setEnabled(false);dispose));}elseif(e.getSource()==exitB){dispose();}
Logpage类:packagecom.Listen;importjava.awt.BorderLayout;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.Label;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.swing[Button;importjavax.naming.spi.DirStateFactory.Result;importjavax.swing.BoxLayout;importjavax.swing」magelcon;importjavax.swing」Frame;importjavax.swing」Label;importjavax.swing.JOptionPane;importjavax.swing」Panel;importjavax.swing.JPasswordField;importjavax.swingJTextField;publicclassLogpageextendsJFrameimplementsActionListener{JPaneltopPanel’confpanelJogPanel;JLabeltopLabel;BoxPanelstaffpb,administratorbp;boxpanelpasspassworbp;JButtonbConfirm;JPanelimagePanel;Operatepagea;publicLogpage(){super)11公司员工考勤管理系统”);setLayout(newGridLayout(3,1));〃添加上部分topLabel=new儿abel("公司员工考勤管理系统登录界面”);topLabel.setFont(newFont("宋体",Font.BOLD,30));topPanel=newJPanel();topPaneLsetLayout(newBorderLayout());topPanel.addC"Center"^topLabel);add(topPanel);〃添加中部分
logPanel=newJPanel();logPanel.setLayout(newGridLayout(3,1));staffpb=newBoxPanel("员工账号:",15);administratorbp=newBoxPanel(n管理员账号:M5);passworbp=newboxpanelpass("账号密码:",14);logPanel.add(staffpb);logPanel.add(administratorbp);logPanel.add(passworbp);add(logPanel);〃添加下部分bConfirm=newJButton("确定”);bConfirm.addActionListener(this);confpanel=newJPanel();confpanel.add(bConfirm);bConfirm.setBounds(30,30,50,50);add(HCenter笃confpanel);setBoundsf100,100,600,400);setVisible(true);}publicstaticvoidmenuSetEnable(Operatepagea,booleanflag){a.menul.setEnabled(flag);a.menu2>setEnabled(flag);a.menu3.setEnabled(flag);a.menu4.setEnabled(flag);a.menu5.setEnabled(flag);a.menu61.setEnabled(flag);a.menu62.setEnabled(flag);a.menu7.setEnabled(flag);a.menu8.setEnabled(flag);}publicstaticvoidmain(String[]args)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Logpagea=newLogpage();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==bConfirm){try{〃连接数据库Connectionconn二(Connection)DateBaseConn.returnConn();〃数据库操作PreparedStatementsts=conn.prepareStatement("selectENUMfromCSAS123LwhereENUM=?andEPASSWORD=?");if(administratorbp.text.getText().equals(,,1407020415,,)){
sts.setString(l,administratorbp.text.getText());}else{sts.setString(l,staffpb.text.getText());}sts.setString(2,newString(passworbp.text.getPassword()));ResultSetrs=sts.executeQuery();if(rs.next()){if(rs.getString(,,ENUM,,).trim().equals(,,1407020415n)){System.out.printlnfrs.getStringC"ENUM"TtrimO);a=newOperatepage(rs.getString("ENUM").trim());menuSetEnable(a,true);}else{a=newOperatepage(rs.getString("ENUM").trim());menuSetEnable(a,false);a.menu8.setEnabled(true);}}elseJOptionPane.showMessageDialog(confpanel,"请输入正确的账号和密码!”);}catch(InstantiationException|HlegalAccessException|ClassNotFoundException|SQLExceptionel){el.printStackTrace();System.out.println「连接失败!!");}}}}Operatepage类:packagecom.Listen;importjava.awt.BorderLayout;importjava.awt.CheckboxMenultem;importjava.awt.Font;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.Connection;importjava.sql.DriverManager;
importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.swing.Box;importjavax.swing[Button;importjavax.swing」Frame;importjavax.swing」Label;importjavax.swing」Menu;importjavax.swing」MenuBar;importjavax.swingJMenultem;importjavax.swingJPanel;publicclassOperatepageextendsJFrameimplementsActionListener{JMenuBarmenuB;JPaneltopPanel,panell’panel2;JLabeltopLabel;Boxboxl,box2,box3;BoxPanelname,number,departmen^postsickDay^ickDayOff,offDay,offDayOff;JButtonbuttonl,button2;JMenultemmennu2,menu3,menu4,menu5,menu6bmenu62,menu7,menu8;JMenucheckMenu;publicOperatepage(Stringuserid)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{〃设置菜单menuB二newJMenuBar();setJMenuBar(menuB);menul=newJMenultem("添加”);menuB.add(menul);menu2=newJMenultem(n查询,f);menuB.add(menu2);menu3=newJMenultem("编辑”);menuB.add(menu3);menu4=newJMenultem(M显示”);menuB.add(menu4);menu5=newJMenultem("删除”);menuB.add(menu5);〃添加统计菜单checkMenu=newJMenuC1统计");menu61=newJMenultem(n查看所有”);menu62=newJMenultem("统计所有”);checkMenu.add(menu61);checkMenu.add(menu62);
menuB.add(checklVlenu);menu7=newJMenultemf11保存”);menuB.add(menu7);menu8=newJMenultem(n退出"*);menuB.add(menu8);〃添加监听器menul.addActionListener(this);menu2.addActionListener(this);menu3.addActionListener(this);menu4.addActionListener(this);menu5.addActionListener(this);menu61.addActionListener(this);menu62.addActionListener(this);menu7.addActionListener(this);menu8.addActionListener(this);〃设置上部分topLabel=newJLabel("公司员工考勤管理系统管理界面”);topLabel.setFont(newFont("宋体”,Font.BOLD,30));topPanel=newJPanel();topPanel.setLayout(newBorderLayout());topPanel.add("Center",topLabel);add(topPanel);〃连接数据库Staffs=newStaff(userid);〃设置信息面板panell=newJPanel();boxl=Box.createVerticalBox();box2=Box.createVerticalBox();name=newBoxPanel("姓名:",15);name.text.setText(s.name);boxl.add(name);number=newBoxPanel(H编号15);number.text.setText(s.number);boxl.add(number);department=newBoxPanel("部门:",15);department.text.setText(s.department);boxl.add(department);post=newBoxPanel("职位:",15);post.text.setText(s.post);boxl.add(post);sickDay=newBoxPanel("病假天数:",15);sickDay.text.setText(Integer.toString(s.sickDay));
box2.add(sickDay);sickDayOff=newBoxPanel("剩余病假天数:",15);sickDayOff.text.setText(Integer.toString(s.sickDayOff));box2.add(sickDayOff);offDay=newBoxPanel("带薪休假天数:",15);offDay.text.setText(Integer.toStringfs.offDay));box2.add(offDay);offDayOff=newBoxPanel("剩余带薪休假天数:",15);offDayOff.text.setTextfInteger.toString(s.offDayOff));box2.add(offDayOff);panell.add(boxl);panell.add(box2);add(panell);this.setEnable(this’false);〃设置按钮而板panel2=newJPanelf);buttonl=newJButton(”请假”);button2=newJButton(”休假”);panel2.add(buttonl);paneI2.add(button2);buttonl.addActionListener(this);button2.addActionListener(this);add(panel2);〃设置界面属性setLayout(newGridLayout(3,1));setTitle("管理界面");setVisible(true);setBounds(10,10,600,600);}publicvoidsetEnable(Operatepagea,booleane){a.offDayOff.text.setEnabled(e);a.offDay.text.setEnabled(e);a.sickDay.text.setEnabled(e);a.post.text.setEnabled(e);a.department.text.setEnabled(e);a.number.text.setEnabled(e);a.name.text.setEnabled(e);a.sickDayOff.text.setEnabled(e);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==menul){AddMenua=newAddMenu(this);a.clear(this);
elseif(e.getSource()==menu4){this.setEnable(this,false);ShowStaffMenushow=newShowStaffMenu(this);try{show.showMessage(this);}catch(InstantiationException|HlegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}this.setEnable(this,false);}elseif(e.getSource()==menu3){setEnable(this,true);}elseif(e.getSource()==menu5){try{DeleteMenu.delete(this);}catch(InstantiationException|lllegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}}elseif(e.getSource()==menu2){newShowStaffMenu(this);}elseif(e.getSource()==menu61){ShowAIIa=newShowAII();try{a.showAII();}catch(InstantiationException|HlegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}}elseif(e.getSource()==menu7){SaveMenua=newSaveMenu();try{a.SaveDate(this);
}catch(InstantiationException|lllegalAccessException|ClassNotFoundException|SQLExceptionel){//TODOAuto-generatedcatchblockel.printStackTrace();}}elseif(e.getSource()==buttonl){LeaveBLabl=newLeaveBL();abl.a=this;}elseif(e.getSource()==button2){LeaveBVabl=newLeaveBV();abl.a=this;}elseif(e.getSource()==menu8){dispose();}}publicstaticvoidmain(String[]args)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{newOperatepage("1407020415");}}SaveMenu类:packagecom.Listen;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.SQ.LIntegrityConstraintViolationException;importjavax.swing.JOptionPane;publicclassSaveMenu{voidlnsertDate(Operatepagea)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Connectionconn二(Connection)DateBaseConn.returnConn();PreparedStatementsts=conn.prepareStatement(HINSERTINTOCSAS123L"1+“(ENAME,ENUM,DEPART,POST,SICKDAY,”+”SICKDAYOFFQFFDAY,OFFDAYOFF,EPASSWORD)“+nvalues(?,sts.setString(l,a.name.text.getText());
try{sts.setString(2,a.number.text.getText());}catch(Exceptione){JOptionPane.showMessageDialogfa.panell,”输入同样的学号,请重试“);}sts.setStrjng(3,a.department.text.getText());sts.setString(4,a.post.text.getText());sts.setlnt(5」nteger.parselnt(a.sickDay.text.getText()));sts.setlnt(6」nteger.parselnt(a.sickDayOff・text.getText()));sts.setlnt(7」nteger.parselnt(a・offDay.text・getText()));sts.setlnt(8,lnteger.parselnt(a.offDayOff.text.getText()));〃设置默认密码唯“12345678”sts.setString(9;,12345678H);sts.executeUpdatef);sts.close();conn.close));JOptionPane.showMessageDialogfa.panell,11保存成功,请点击确定继续!”);}publicvoidUpdataDate(Operatepagea)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Connectionconn=(Connection)DateBaseConn.returnConn();PreparedStatementsts=conn.prepareStatement(HupdateCSAS123Lset1"+"ENAME=?,DEPART二?,POST二?,SICKDAY二?,SICKDAYOFF二?QFFDAY二?/+"OFFDAYOFF=?whereENUM=?");sts.setString(l/a.name.text.getText().trim());sts.setString(2/a.department.text.getText().trim());sts.setString(3,a.post・text・getText()・trim());sts.setlnt(4」nteger.parselnt(a・sickDay.text・getText()・trim()));sts.setlnt(5」nteger.parselnt(a・sickDayOff・text・getText()・trim()));sts.setlnt(6」nteger・parselnt(a.offDay・text・getText()・trim()));sts.setlnt(7,lnteger.parselnt(a.offDayOff.text.getText().trim()));sts・setString(&a.number.text・getText()・trim());sts.executeUpdatef);JOptionPane.showMessageDialogfa.panell,"修改成功,请点击确定继续!u);sts.close();conn.close();}publicvoidSaveDate(Operatepagea)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Cormectionconn二(Connection)DateBaseConn.returnConn();
PreparedStatementsts=conn.prepareStatement(
SelectENUMfromCSAS123LwhereENUM=?H);sts.setString(l,a.number.text.getText());ResultSetrs=sts.executeQuery();if(rs.next())UpdataDate(a);elseInsertDate(a);a.setEnable(a,false);}}ShowAII类:packagecom.Listen;importjava.awt.BorderLayout;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.swing.JDialog;importjavax.swing」Frame;importjavax.swingJPanel;importjavax.swing」ScrollPane;importjavax.swing」TextArea;publicclassShowAIIextendsJDialog{JTextAreashowArea;//JPaneltopPanel;〃构造函数publicShowAII(){setTitle("查询页面:");showArea=newJTextArea(4,2);add(newJScrollPane(showArea),BorderLayout.CENTER);setBounds(100,100,800,400);setVisible(true);}〃显示函数publicvoidshowAII()throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Cormectionconn二DateBaseConn.returnConn();Stringsql="select*fromCSAS123L";PreparedStatementpstmt;try{pstmt=(PreparedStatement)conn.prepareStatement(sql);ResultSetrs=pstmt.executeQueryf);
intcol=rs.getMetaData().getColumnCount();showArea.setText(null);showArea.append("============================n");showArea.append("姓名:”);showArea.append("编号:”);showArea.append("部门:”);showArea.append("职位:”);showArea.append("病假天数:");showArea.append("剩余病假天数:");showArea.append("带薪休假天数:”);showArea.append(n剩余休假天数:“);showArea.append("密码:n");intal=0;while(rs.next()){al++;for(inti=1;i<=col;i++){showArea.append(rs.getString(i)+"t");/*if((i==2)&&(rs.getString(i).length()<4)){showArea.append("t");}*/}showArea.append("n");}showArea.append("============================n");showArea.append("共找到:”+lnteger.toString(al)+"个人”+”rT);}catch(SQLExceptione){e.printStackTrace();}}publicstaticvoidmain(String[]args)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{ShowAIIa=newShowAII();a.showAII();}}ShowStaffMenu类:packagecom.Listen;importjava.sql.SQLException;importjavax.swing」OptionPane;publicclassShowStaffMenu{Staffs;publicShowStaffMenu(Operatepagea){
a.number.text.setEnabled(true);}publicvoidshowMessage(Operatepagea)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{try{s=newStaff(a.number.text.getText());}catch(java.sql.SQLExceptione){!请重新输JOptionPane.showMessageDialog(a.panell,"未知学号!入!“);}a.name.text.setTextfs.name);a.number.text.setText(s.number);a.department・text.setText(s・department);a.post.text.setText(s.post);a.sickDay.text.setText(Integer.toString(s.sickDay));a.sickDayOff.text.setText(Integer.toString(s.sickDayOff));a.offDay.text.setText(Integer.toString(s.offDay));a.offDayOff.text.setText(Integer.toStnng(s.offDayOff));}}Staff类:packagecom.Listen;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassStaff{publicStringname,number’departmenlpost;publicintsickDay,sickDayOff,offDay,offDayOff;publicStaff(Stringuserid)throwsInstantiationExceptionzHlegalAccessException,ClassNotFoundException,SQLException{Connectionconn二DateBaseConn.returnConn();PreparedStatementsts=conn.prepareStatement("select*fromCSAS123LwhereENUM=?");sts.setString(:Uuserid);ResultSetrs二sts.executeQuery();rs.nextf);name=rs.getString("ENAME");number=rs.getString("ENUM");department=rs.getString("DEPART");post=rs.getString("POST");sickDay=rs.getlnt("SICKDAY");sickDayOff=rs.getlnt(HSICKDAYOFFn);
offDay=rs.getlnt(,,OFFDAYH);offDayOff=rs.getlnt("OFFDAYOFFn);}/*publicstaticvoidmain(String[]args)throwsInstantiationException,HlegalAccessException,ClassNotFoundException,SQLException{Staffa=newStaff("1407020415");System.out.println(a.name);System.out.println(a.sickDay);}*/}Boxpanelpass类:packagecom.Listen;importjava.awt.Font;importjavax.swing.Box;importjavax.swing」Label;importjavax.swingJPanel;importjavax.swing.JPasswordField;publicclassboxpanelpassextendsJPanel{JPasswordFieldtext;JLabellabel;Boxbox;publicboxpanelpass(Strings’intn){box=Box.createHorizontalBox();label=newJLabel(s);text=newJPasswordField(H,,,n);text.setHorizontalAlignment(JPasswordField.LEFT);〃设置文本格式text.setFont(newFont("Arial",Font.BOLD,14));box.add(label);box.add(text);add(box);}〃设置密码格式privatevoidchangefont(){}