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

原创 2017年01月03日 01:19:20
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();
}
}
}

相关文章推荐

j2me 使用Timer和TimerTask来实现多线程

在Java中可以使用两种方式来实现多线程操作,这两种方式依次是: Timer类—定时器类派生自Object。它是个定时器类,作为后台线程,执行未来的任务。任务可安排一次性执行,或定期重复执行。于每个 ...

用J2ME实现简单电子邮件发送功能

在GCF中并没有提供给我们能够发送电子邮件的API,J2ME的可选包也没有提供相关的功能。那么我们能用J2ME实现发送电子邮件功能嘛?答案是肯定的。本文将主要讲述如何在J2ME中实现发送电子邮件的功能...
  • lwuit
  • lwuit
  • 2012年02月13日 10:25
  • 510

通过J2ME的录音功能实现简易示波器

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!              早就有人通过PC声卡的输入(麦克风孔)来做模拟示波器,但是用手机来实现的比较...

J2ME-->获取设备支持的信息

在开发中可能你会迷惑到底我的手机支持我开发的程序吗? 支持CLDC2.0/MIDP2.0,? 支持混音吗?支持RMS吗?等等疑惑就在这片文章中得到了解决!  ①:获得系统属性(关键地方)     在J...
  • pdw_jsp
  • pdw_jsp
  • 2011年06月02日 13:49
  • 531

J2ME 拼图游戏 快速开发 全过程 之代码祥解(3 )——拼图的方格类、个人信息类、选择背景拼图的列表类

拼图的方格类,代码: package cn.edu.xtu.tilepuzzle.model; import javax.microedition.lcdui.Font; import ...

得到blackberry中的联系人信息(j2me)

RIM有自己的API(BlackBerryContact.class)提供联系人信息。 但是需要签名才能运行。 我们可以用javax.microedition.pim .Contact 来...
  • iceelor
  • iceelor
  • 2011年08月03日 15:43
  • 279

J2ME PIM 获得通讯录 联系人信息

import Java.util.Enumeration; import javax.microedition.lcdui.Alert; import javax.microedition.lcd...
  • iceelor
  • iceelor
  • 2011年08月03日 14:24
  • 575

J2ME中使用记录存储系统(RMS)存储信息

 在MIDP中,没有文件的概念,所以永久存储一般只能依靠记录存储系统实现,关于记录存储系统的简介,可以参看教程:http://www-900.ibm.com/developerWorks/cn/jav...
  • pdw_jsp
  • pdw_jsp
  • 2011年02月09日 13:51
  • 297

j2me中Alert和Timer编程范例

  • 2010年06月22日 14:28
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何j2ME中想用Timer和TimeTask来实现提示信息功能?
举报原因:
原因补充:

(最多只允许输入30个字)