如何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();
}
}
}

Timer与TimerTask的真正原理&使用介绍

其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样: Timer timer = new Time...
  • xieyuooo
  • xieyuooo
  • 2013年02月24日 18:23
  • 31887

传统定时器技术 Timer and TimerTask

本文为张孝祥java并发课程的学习笔记。 java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。 一个TimerTask实际上就是一个拥有run方法的类,需要定时...
  • dlf123321
  • dlf123321
  • 2015年01月15日 15:29
  • 902

javascript实现的一个信息提示的小功能/

JS实现的提升用户体验的信息提示……
  • u010571913
  • u010571913
  • 2014年12月15日 16:25
  • 1227

Java—Timer和TimerTask详解(常用API)

以下内容根据 The JavaTM Tutorial 和相关API doc翻译整理,以供日后参考: 1.概览 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行...
  • weiguishan
  • weiguishan
  • 2015年02月23日 12:32
  • 1665

Java TimerTask示例,start,cancel,strat,启动,取消,再启动

实现一个定时任务,要求可以启动,取消,再启。 TimerTask示例: package com.myb.timer; import java.sql.Connection; import ...
  • han_huayi
  • han_huayi
  • 2015年08月21日 13:36
  • 5957

linux系统时间对java.Timer执行产生的影响

很有意思的一件事情,如果你们有兴趣,可以去试试 环境:centOS7-mini-x64 openJDK-1.7 步骤: 1.创建一个简单的2秒输出时间的timer packa...
  • java1234321
  • java1234321
  • 2015年11月23日 17:17
  • 919

J2ME及其移植

J2me及其移植   1. 简介 1.1 系统结构 Java ME 以往称作J2ME(Java Platform,Micro Edition),是为机顶盒、...
  • ydhua1988
  • ydhua1988
  • 2015年01月22日 09:22
  • 1164

Android Timer 用法以及更新UI时的技巧

Timers主要是用来在后台运行一些任务。可以把Timer设置为守护线程。当调用cancel时所有已经安排的任务都没会被取消。        Timer中的任务是依次执行的,如果一个任务花很长时...
  • dxpqxb
  • dxpqxb
  • 2013年03月11日 15:35
  • 2272

Android消息提示方法介绍

Android消息提示有三种方式: 1.使用Toast显示消息提示 Toast用于在屏幕中显示一个提示信息框,该消息提示框没有任何控制按钮,并且不会获得焦点,经过一定时间后自动消失,通常用于显示一...
  • zhangbohun
  • zhangbohun
  • 2016年02月24日 22:26
  • 2209

Java 中的定时任务:Timer基础 Timer的缺陷 ScheduledExecutorService优势

该文章来自以下两篇文章整理而成: 主要基础: http://blog.csdn.net/chenssy/article/details/32703499 扩展 : http://blog.csdn....
  • u010003835
  • u010003835
  • 2017年05月09日 17:00
  • 856
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何j2ME中想用Timer和TimeTask来实现提示信息功能?
举报原因:
原因补充:

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