1、JAVA考勤管理系统方案课程设计任务书系别电气与电子工程系专业计算机应用技术班级指导教师题目JAVA考勤管理系统设计目的:熟练掌握JAVA程序设计图形开发、事件驱动机制、各种组件使用。设计要求:用JAVA设计一个计算器小程序;设计的作品以单个Java文件形式,若是Applet小程序,则附带相关的网页;不要使用包路径;代码书写规范,无语法和逻辑错误;课程设计要求:1画出程序设计流程图,说明程序设计流程。2. 根据流程图,说明所使用的相关知识。3.编写出程序4. 撰写课程设计说明书。课程说明书里应包括目录,程序流程图,程序,总结(印象较深的经验/教训等)。要求:设计要有相应的设计报告,报告要包含题
2、目、目录、摘要、关键字、正文、参考文献几部分;字体、字号格式按样文设置;正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图;结题形式程序代码,设计说明书时间分配:总体设计时间为1周1 设计流程图 1天2 编写各部分程序 2天3 上机调试,实现功能 1天4 写说明书、答辩 1天第一章 考勤管理系统功能说明考勤管理系统为了解决班级考勤,开发的一个基于JavaSwing和mssql的桌面管理系统。 介绍主要功能(模块结构图)第二章 软件开发2.1 用户登录 1、用户登录界面 2、程序的开发流程3、核心代码 str3=select * from hy where nam
3、e=+str1+and pwd=+str2+;con = DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=con.createStatement();2.2 用户管理模块开发 2.2.1 用户添加 1、用户添加界面 2、程序的开发流程 3、核心代码 String str_sql=insert into biao (name,pwd,grade) values (+str_name+,+str_pwd+,+user_type+); try conn=DriverManager.getConnection(jdbc:odbc:wk, sa, )
4、;stmt=conn.createStatement(); stmt.executeUpdate(str_sql);JOptionPane.showConfirmDialog(this, 添加成功!, 系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);tx.setText(); fd1.setText(); fd2.setText(); catch (SQLException e) e.printStackTrace();2.2.2 用户修改 1、用户修改界面 2、程序的开发流程 3、核心代码conn = Drive
5、rManager.getConnection(jdbc:odbc:wk,sa,);sta=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=sta.executeQuery(select name,pwd,grade from hy);rs.next();text1.setText(rs.getString(name);pwd.setText(rs.getString(pwd);cpwd.setText(pwd.getText();2.2.3 用户删除 1、用户删除界面 2、程
6、序的开发流程 3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk, sa, );stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select name,pwd,grade from hy);rs.next();tx.setText(rs.getString(name);fd1.setText(rs.getString(pwd);rs.updateString(1,tx.getTe
7、xt();rs.updateString (2, fd1.getText();rs.updateInt(3, user_type);rs.updateRow();JOptionPane.showConfirmDialog(this, 确定要删除吗?, 系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);rs.deleteRow();rs=stmt.executeQuery(select name,pwd,grade from hy);2.3 考勤管理模块开发 2.3.1 考勤人员添加 1、考勤人员添加界面 2、程序的开
8、发流程 3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk, sa, );stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select id,code,name,class,tel from biao1);rs.last(); r_date=new Objectrs.getRow();rs.beforeFirst();rs.close();stmt.close();conn.c
9、lose();i=0bg=new JTable(r_date,t); s=new JScrollPane(); s.setViewportView(bg);sql=insert into kq (code,name,class,tel) values(+scode+,+sname+,+sclass+,+stel+); 2.3.2 考勤管理设置 1、考勤管理设置界面 2、程序的开发流程 3、核心代码 b1.setEnabled(false); b2.setEnabled(true);try conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);st
10、mt=conn.createStatement();stmt.executeUpdate(insert into check_option (kx,c1,c2,c3,c4,c5) values (+tx1.getText()+,+tx2.getText()+,+tx3.getText()+, +tx4.getText()+,+tx5.getText()+,+tx6.getText()+);stmt.close(); conn.close(); 2.3.3 考勤课程设置 1、考勤课程设置界面 2、程序的开发流程 3、核心代码 try conn=DriverManager.getConnectio
11、n(jdbc:odbc:wk,sa,);stmt=conn.createStatement();for(int i=1;i=5;i+)if(i=1)stmt.executeUpdate(insert into check_class (x1,x2,x3,x4,x5) values (+jTextField1.getText()+,+jTextField6.getText()+,+jTextField11.getText()+,+jTextField16.getText()+,+jTextField21.getText()+);2.3.4 人员考勤管理 1、人员考勤管理界面 2、程序的开发流程
12、3、核心代码 计算日期 Date date1=new Date(); Calendar c=Calendar.getInstance(Locale.CHINESE); c.setTimeInMillis(date1.getTime(); c.add(Calendar.HOUR,-10); DateFormat df=DateFormat.getDateTimeInstance(); try return c.getTime().before(df.parse(date2); catch (ParseException e) e.printStackTrace();return false;co
13、nn=DriverManager.getConnection(jdbc:odbc:wk,sa,); stmt=conn.createStatement();rs=stmt.executeQuery(select code from yu_kq where name=+tx2.getText()+);if(rs.next()s_code=rs.getString(1);Calendar c=Calendar.getInstance(Locale.CHINESE);SimpleDateFormat sim=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);c.ge
14、tTime(); c.add(Calendar.HOUR, +14); s_datetime=sim.format(c.getTime(); 2.4 考勤查询2.4.1 考勤卡号查询 1、考勤卡号查询界面 2、程序的开发流程 3、核心代码 date=new Objectrs.getRow(); rs.beforeFirst();s.remove(bg); bg=new JTable(date,t);bg.setBounds(10, 120, 350, 180); s.setViewportView(bg);s.setBounds(10, 120, 350, 185); 2.4.2 考勤姓名查询
15、 1、考勤姓名查询界面 2、程序的开发流程 3、核心代码 conn=DriverManager.getConnection(jdbc:odbc:wk,sa,); stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery(select * from find_code where name=+t_code.getText()+); rs.last();2.4.3 考勤周次查询 1、考勤周次查询界面 2、程序的开发流程 3、核心代码 周次转换
16、为天数的算法 (周数-1)*7+星期几调用以下类中的方法daycount=(Integer.parseInt(t_week.getText()-1)*7+Integer.parseInt(t_date.getText();System.out.println(天数+daycount); String result = ; DateFormat df = new SimpleDateFormat(yyyy-MM-dd); long i=86400000; try Date ldate = df.parse(ymd);result = df.format(new Date(ldate.getTim
17、e()+nextYmd * i).toString(); catch (ParseException e) e.printStackTrace(); return result;第三章 总结3.1 建立数据源 1、使用JDBC-ODBC java联接了数据源 2、使用JDBC for SQL* 驱动。 3、建立数据源ODBC控制面板管理工具数据源ODBC系统DSN添加选择数据库类型SQL指定数据源名称:(名称:ts)服务器名称:在服务管理中粘贴登录方式 系统默认更改默认数据库(新建的库)数据源测试完成private Connection conn=null;/声明数据联接 private St
18、atement stmt=null;/传递sql语句private ResultSet rs=null;/接收结果(记录集)3.2 控件使用 1、JFrame添加背景图片/菜单背景.private Image img_main=null;private ImageIcon icon_main=null;private JLabel l=null;private JLayeredPane p=null;/背景图标img_main=ImageIO.read(this.getClass().getResource(/pro_2/pic/main.jpg);icon_main=new ImageIco
19、n(img_main);/添加背景图片 l=new JLabel(icon_main); p=this.getLayeredPane(); p.setOpaque(false); l.setBounds(0,0,icon_main.getIconWidth(), icon_main.getIconHeight();/设置背景标签的位置 p.add(l, new Integer(Integer.MIN_VALUE);/注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。 Container cp=this.getContentPane(); cp.setLayout(nul
20、l); (JPanel)cp).setOpaque(false);2、如何在jTextField上添加事件,实现输入数据触发事件t-jTextField对象t.getDocument().addDocumentListener(new DocumentListener() public void changedUpdate(DocumentEvent arg0) /当属性或者属性集发生变化时通知 public void insertUpdate(DocumentEvent arg0) /文本输入时通知 public void removeUpdate(DocumentEvent arg0) /删除文本时通知 );3、在容器中添加滚动条容器private JScrollPane p=new JScrollPane(); /声明并创建滚动条容器p.setBounds(10, 10, 300, 300); /设置位置this.add(p);/添加3.3 JAVA 代码结构认识 通过这次的课程设计,让我更好的巩固了JAVA课程中所学习地知识,对JAVA开发程序有了一个系统的了解。知道了在开发程序时,应该先构建一个体系,在设计程序前应该先将程序的流程图画出来,再有目的的去编写各部分的程序。同时,也让我感觉到了JAVA语言功能的强大。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1