java课程设计职工工资管理系统[1]2.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
一、设计目的 (2)
二、功能介绍 (2)
三、程序流程 (2)
四、设计步骤 (3)
五、设计总结 (7)
六、程序清单 (8)
七、参考文献 (17)
一、设计目的
通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。
二、功能介绍
(1)具有新用户注册功能。
(2)具有注册用户登录功能。
(3)具有职工工资的录入功能,要求只录入工资各项,自动计算每个职工工资总额。
(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。
(5)具有按条件删除数据功能。
三、程序流程
长 春 大 学 课程设计纸
共 17 页 第 3 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
四、设计步骤
4.1、登陆界面
进入系统首先进入登陆界面如图4.1,输入账号和密码,点击登录就会进入职工工资管理系统,点击注册进入新用户注册界面,定义了局部变量String 类型的user ,password 和pass 分别记录界面输入的账号,密码和数据库查找的密码,定义了成员变量boolean 型的bool 记录输入账号和密码是否匹配。
图4.1登陆界面
4.2、职工工资管理系统
登陆成功后进入的界面如图4.2,界面有增删改查的功能。widgetSelected() 方法创建button 的点击事件,创建DBHelper 类的对象db 连接数据库,进行查找,删除修改功能,增删改用update ()方法,查询用query ()方法。
图4.2职工工资管理界面
4.3、全部查找功能
点击右边的查询按钮可以查找出所有员工的工资信息如图4.3,通过自己封装的连接数据库的类DBHelper类的对象db,传递sql语句查找数据库的所有信息,用getString()方法导出从数据库中查找到的数据,所得工资=基本工资+职位提成-50*迟到天数-100*旷工天数,通过查找的数据和自己定义的公式得到所得工资。
图4.3全部查找界面
长 春 大 学 课程设计纸
共 17 页 第 5 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
4.4、按条件查找功能
在文本框中输入职工号,点击查找能找到对应职工的工资情况,如图 4.4。用getText ()方法获得text 文本框中的的输入信息,定义局部变量boolean 型的数据bool ,记录数据库中是否有对应的职工号,如果查到则为true ,并且在表格中先用removeAll ()方法清空表的信息,然后用sql 语句找出text 中的职工号对应的数据。
图4.4按条件查找界面
4.5、录入功能
点击录入键进入录入界面如图4.5,输入职工信息,点击录入修改数据库的信息,并且能更新查找的结果。用getText ()方法获得text 文本框的信息,定义局部变量String 类型的s1,s2,s3,s4,s5,s6记录六个文本框的信息,通过DBHelper 的对象db 调用update 方法把信息传入数据库。
图4.5录入功能界面
4.6、删除功能
点击选中行,然后点击删除按钮就会将选种的行删除掉,例如删除图4.3中第三行数据如图4.6。定义局部变量TableItem[]数组用table.getSelection()方法查找并存储选中行的信息,定义int[]型数组用table.getSelectionIndices()方法查找并存储选中行的行号,用这两个信息分别删除数据库和界面的选中信息。
图4.6删除功能界面
长 春 大 学 课程设计纸
共 17 页 第 7 页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
4.7、注册功能
点击注册键后进入如图4.7所示的界面,输入新用户账号和密码,如果两次密码输入相同就注册成功。定义局部变量String 类型的user ,password 和pass 分别记录三个文本框输入的内容,用equals 方法判断pass 和password 是否相同,如果相同,则注册成功,并用dispose ()方法关闭此窗口。
图4.7注册功能界面
五、设计总结
这次课程设计,我们知道了成员变量和局部变量的不同,有些变量如果不设成成员变量就无法把数据传递出去,我们学会了封装,将连接数据库的方法封装到DBHelper 类中,封装的便利让我们写程序更快捷,但是界面的功能还不够人性化。
六、程序清单
import java.sql.ResultSet;
import java.sql.SQLException;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import bel;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import com.swtdesigner.SWTResourceManager;
public class denglu extends Shell {
boolean bool;
private Text text_1;
private Text text;
public static void main(String args[]) {
try {
Display display = Display.getDefault();
denglu shell = new denglu(display, SWT.SHELL_TRIM);
shell.open();
yout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public denglu(Display display, int style) {
super(display, style);
createContents();
}
protected void createContents() {
setText("登陆界面");
setSize(622, 439);
final Label label = new Label(this, SWT.BORDER);
label.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));
label.setText("账号:");
label.setBounds(90, 112, 60, 27);
final Label label_1 = new Label(this, SWT.BORDER);
label_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));
label_1.setText("密码:");
label_1.setBounds(90, 185, 60, 27);
text = new Text(this, SWT.BORDER);
text.setBounds(208, 112, 125, 27);
text_1 = new Text(this, SWT.BORDER | SWT.PASSWORD);
text_1.setBounds(208, 185, 125, 27);
final Button button = new Button(this, SWT.NONE);