面向对象课程设计--- 工资管理系统(4)

2019-02-20 20:18

图9

2.4.2 修改模块事件处理

当用户点击主模块中的修改按钮时,下方将显示修改模块的界面。修改界面中结构比较简

单,两个下拉框和两个输入文本框,两个下拉框分别是修改方式的选择和修改项的选择。

(1)修改方式中有修改行和修改列两种选择,修改行是修改一行,然后选择修改项,这种情况必须输入工号,新值在不输入的情况下将以0为缺省型,但是不推荐。

(2)当用户选择的修改方式为修改列时,不需要输入工号,此时,工号输入框不能进行输入,只要为输入框设置属性setFocusable(false);即可;当用户选择修改行时重置过来即setFocusable(true);即可。

(3)做完(1),(2)的选择后,用户点击修改按钮时,系统将弹出确认修改的对话框,让 用户选择是都确认修改,如果用户点击对话框上的确认,系统将执行修改。如果修改成功,系统将会弹出修改成功的对话框。操作实例如图9,关键代码如下:

int row;

if(e.getActionCommand()==\修改\){ try {

num = Integer.parseInt(no.getText()); num=-1;

} catch (NumberFormatException e2) { } try {

newValue = Integer.parseInt(data.getText()); newValue = -1;

} catch (NumberFormatException e1) { }

if(or==1 && !colum.equals(\) &&num>=0 &&newValue>=0){

y_n = new Dialog(this.y_n,\确定修改?\,true);

//选择的是修改行

//实例化一个对话框 Panel p1 = new Panel();

Y = new Button(\); Y.addActionListener(this); N = new Button(\); N.addActionListener(this);

p1.add(new Label(\确认请按“yes”,撤销请按“no”\)); p1.add(Y); p1.add(N);

y_n.add(\,p1);

16 / 66

{ }

y_n.pack();

y_n.setVisible(true);

y_n = new Dialog(this.y_n,\确定修改?\,true); Panel p1 = new Panel(); Y = new Button(\); Y.addActionListener(this); N = new Button(\); N.addActionListener(this);

p1.add(new Label(\确认请按“yes”,撤销请按“no”\)); p1.add(Y); p1.add(N);

y_n.add(\,p1); y_n.pack();

y_n.setVisible(true);

}elseif(or==2 && !colum.equals(\)&&newValue>=0){

}else

y_n = new Dialog(this.y_n,\信息不全\,true); Panel p1 = new Panel(); Y = new Button(\); Y.addActionListener(this);

p1.add(new Label(\您选择的条件有误,请重新选填;按“yes”继

p1.add(Y);

y_n.add(\,p1); y_n.pack();

y_n.setVisible(true);

续补全\));

}

if(e.getSource()==Y&&or==1 && !colum.equals(\) &&num>=0

&&newValue>=0){//选择修改行 y_n.dispose();

success = new Dialog(this.success,\修改成功\ ,true); Panel p2 = new Panel();

p2.add(new Label(\修改成功!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

17 / 66

HibernateOperate q = new HibernateOperate(); q.testUpdateByRow(colum, num, newValue);

success.setVisible(true);

}elseif(e.getSource()==Y&&or==2

&& !colum.equals(\)&&newValue>=0){ //确认修改列 y_n.dispose();

HibernateOperate q = new HibernateOperate(); row = q.testUpdateByColum(colum, newValue); if(row>0){ }

y_n.dispose();

success = new Dialog(this.success,\修改成功\ ,true); Panel p2 = new Panel();

p2.add(new Label(\修改成功!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

success.setVisible(true);

}elseif(e.getActionCommand()==\){

success = new Dialog(this.success,\修改失败\ ,true); Panel p2 = new Panel();

p2.add(new Label(\修改失败!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

success.setVisible(true); y_n.dispose();

}else

if(e.getActionCommand()==\确认\){ success.dispose(); }

2.5 删除模块设计

2.5.1 删除模块模样

删除模块模样如图10所示。

删除模块设计: 输入提示(工号) 输入框 删除按钮 文本框,用来显示将要删除的用户信息: 18 / 66 显示用户信息

图10

删除模块的设计,新建一个叫DeletePanel的java类,布局设计同上。删除容器中加

入了一个子容器select,Panel select中加入了提示输入工号的标签、工输入框、空标签和删除按钮;下方是一个和select平级的文本框,用来显示用户删除的员工的信息。功能和实现都非常简单,没有超出前面设计的范围,故简略说明,窗口显示如图11所示。

图11

2.5.2删除模块事件处理

该模块几个模块中事件处理最简单的一个模块,其中需要说明的就是删除操作只能按工号

删除。当用户输入工号后,点击删除按钮是并未进行删除操作,系统将准备删除的员工信息打印在下方的显示文本框中,当用户点击确认对话框中的确认时,系统才进行员工信息删除。操作实例如图12,关键代码如下:

if(e.getActionCommand()==\删除\){ try {

int a = Integer.parseInt(input.getText());

19 / 66

}

HibernateOperate q = new HibernateOperate(); q.testQueryById(a,result);

} catch (NumberFormatException e1) { result.setText(\请输入合法的整数!!\); }

y_n = new Dialog(this.y_n,\确定删除?\,true); Panel p1 = new Panel(); Y = new Button(\); Y.addActionListener(this); N = new Button(\); N.addActionListener(this);

p1.add(new Label(\确认请按“yes”,撤销请按“no”\)); p1.add(Y); p1.add(N);

y_n.add(\,p1); y_n.pack();

y_n.setVisible(true);

if(e.getSource()==Y){

y_n.dispose();

id = Integer.parseInt(input.getText()); HibernateOperate q = new HibernateOperate(); if(q.testDeleteById(id)){ }

20 / 66

success = new Dialog(this.success,\删除成功\ ,true); Panel p2 = new Panel();

p2.add(new Label(\删除成功!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

success.setVisible(true);

success = new Dialog(this.success,\删除失败\ ,true); Panel p2 = new Panel();

p2.add(new Label(\该用户不存在,删除失败!\)); confirm = new Button(\确认\);

confirm.addActionListener(this); p2.add(confirm); success.add(p2); success.pack();

success.setVisible(true);

}else{


面向对象课程设计--- 工资管理系统(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑安装工程施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: