图5
2.2.2 查询模块事件处理
该模块中共有四个下拉框,一个工号输入框,一个姓名输入文本框和一个现实文本框,第
一个个查询方式下拉框。
(1)当用户选择的是查询方式或者默认全部时,系统将查询的对象定位整个员工工作表;第二个是供用户可以选择查询的范围的下拉框,这里的范围是指工资总额在所在的范围,比如用户选择8000~10000则表示用户选择了工资总额在8000~10000的员工,上下限选择均包括端点值;第三个是排列下拉框,表示用户选择按什么什么数值排列,结合第四个排序下拉框的意思就是用户选择按什么的数值以什么的顺序排列;这四个下拉框均有默认值,用户不显示的做任何选择,当用户直接点击查询按钮时,系统将查询全部员工则工资信息,按工号的升序排列打印在显示文本框。
(2)当用在查询方式下拉框中选择按工号查询时,系统自动跳转到工号输入框,提示用户输入员工工号,然后点击按工号查询按钮,系统查询用户所输入的工号的工资信息,并打印到显示文本框。关键代码如下:
11 / 66
if(c[0].getSelectedIndex()==0||c[0].getSelectedIndex()==3) //
选择查询方式 c[1].requestFocus();
elseif(c[0].getSelectedIndex()==1){ }
inputId.requestFocus(); inputId.setText(\转到这里\); inputName.setText(\);
(3)当用户在查询方式下拉框中选择按姓名查询时,系统将自动跳转到姓名输入框,提示用户输入姓名。
elseif(c[0].getSelectedIndex()==2){ }
inputName.requestFocus(); inputName.setText(\转到这里\); inputId.setText(\);
2.3 储存模块设计
2.3.1 储存模块模样
储存模块的模样如图6所示。
图6
12 / 66
储存模块的设计 提示性标签: 姓名 基础工资 职务工资 奖金 输入信息 对应的输入框: 按钮 按钮 文本框,用来显示刚才增加的用户的信息
储存模块的设计,新建一个叫AddPanel的java类,继承了Applet类,采用的布局设计和查询模块的完全一样,不再赘述。在储存子容器中添加去的是三个Panel。第一个是用来显示提示性标签的,即显示姓名、基础工资、职务工资、奖金、输入对应信息,其作用是提示用户根据提示,在对应的输入框中输入合法的信息;第二个Panel就是在第一个提示标签的下方添加相对应的输入框,以便用户对应输入信息,这个Panel的右端添加了两个按钮,前一个是“增加员工”,是往数据库存数据的事件源,第二个按钮是“清空”,用来清空全部输入框中残留的信息;第三个就是一个文本框,作用就是显示新增员工的信息。
其中的提示性标签是用Label数组来实现的,并且在中间加入了空的标签,目的是是标签分开,不至于排列太紧密,影响美观,窗口显示如图7。实现代码如下:
L[0] = new Label(\姓名\); L[1] = new Label(\基础工资\); L[2] = new Label(\职务工资\); L[3] = new Label(\奖金\); L[4] = new Label(\输入对应信息\); for(int i=0;i<4;i++) { }
tPanel.add(add); tPanel.add(re);
tPanel.add(new Label(\)); LPanel.add(L[4]);
LPanel.add(new Label(\)); LPanel.add(new Label(\));
t[i] = new TextField(); tPanel.add(t[i]); LPanel.add(L[i]);
2.3.2 储存模事件处理
本模块共有四个输入文本框,一个增加员工按钮,一个清空按钮和一个显示文本框。当用
用户点击增加员工按钮时,系统将读取四个输入文本框中的内容,在姓名不为空,三项金额为整数的情况下,系统将员工信息存入数据库,并在下方的显示文本框中打印刚增加的员工的工号、姓名和工资信息。当用户点击清空按钮时,系统将四个输入文本框中的残留信息全部清空。其中的flag不只是在这两个地方处理,在讨论异常的时候会详细介绍。操作实例如图7所示。 这段内容的关键代码如下:
13 / 66
boolean flag;
if(e.getSource()==re)
for(int i=0;i<4;i++)
t[i].setText(\);
if(e.getSource()==add) //插入数据 {
flag=true;
if(t[0].getText().equals(\)){
flag = false;
result.setText(\增加用户失败:必须输入用户名!\); }else }
name = t[0].getText();
HibernateOperate q = new HibernateOperate(); q.testsave(name, basicWage, postWage, bonus);
if(flag){
图7
14 / 66
2.4 修改模块设计
2.4.1修改模块模样
修改模块如图8所示。
图8
修改模块的设计,新建一个叫UpdatePanel的java类,布局设计同上。修改子容器比较简单,里面就装有个一子容器select,容器select中添加了下拉框“修改方式”、下拉框“修改项”、标签“输入新值”、工号输入框、标签“输入新值”、新值输入框、修改按钮。修改方式中有修改行和修改列两个选项;改项中可以选择的只有基础工资、职务工资和奖金;由于是修改,所以每项都必须输入或者选择,否则不执行操作。该模块中各部分的实现代码前面均有提到过,不再赘述,窗口显示如图9所示。
修改模块设计: 修改方式 修改项 输入工号 输入框 输入新值 输入框 修改按钮
15 / 66