如何j2ME中想用Timer和TimeTask来实现提示信息功能?

1.下面的代码是修改密码的Form
2.功能:如果没有输入密码,那么提示“密码不能为空!”,500ms后提示信息要消失。(不要用Alert来实现)
3.我的代码有问题:
当点确定按钮的速度比较快的时候,提示信息不会消失,会出现好多个“密码不能为空”


public class PasswordModifyForm extends Form implements CommandListener {
// -------信息提示
private String msg = "";

private int pos;

private static PasswordModifyForm instance;

private static TextField newPassword = null;

private static TextField newPasswordTwo = null;

private static Command ok = new Command("确定", 4, 1);

private static Command back = new Command("返回", 2, 1);

private PasswordModifyForm() {
super(" ");

// 请输入描述信息
newPassword = new TextField("输入密码", "", 12, 0);
newPasswordTwo = new TextField("再输一次", "", 12, 0);

append(newPassword);
append(newPasswordTwo);

addCommand(ok);
addCommand(back);
setCommandListener(this);
}

public static PasswordModifyForm getInstance() {
if (instance == null)
instance = new PasswordModifyForm();
return instance;
}

public void commandAction(Command c, Displayable d) {
String newp = "", newPTwo = "";
newp = newPassword.getString();
newPTwo = newPasswordTwo.getString();

if (c == ok) {
synchronized (this) {
// -----密码
if (DateTool.isEmpty(newp) || DateTool.isEmpty(newPTwo)) {
// ----密码不能为空

msg = "密码不能为空!";
StringItem si = new StringItem(msg, "");

pos = this.append(si);

// ----------
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {  

if (!DateTool.isEmpty(msg)) {
delete(pos);
msg = "";  
}

}
}, 500);
}
 
}
} else if (c == back) {
App.showBefore();
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值