十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下面这个是我以前回答别的人的问题,现在刚好可以回答你的这个,我就拷过来了,给你参考一下吧
创新互联是一家专业提供江华企业网站建设,专注与成都做网站、网站建设、H5响应式网站、小程序制作等业务。10年已为江华众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
java.util.Timer
用这下面的TimeTask类(指定延时)
java里面的sleep()并不能精确定时,TimeTask可以:例下面的小程序:
import java.util.*;
public class test{
public static void main (String []args){
Timer timer=new Timer();//实例化Timer类
timer.schedule(new TimerTask(){
public void run(){
System.out.println("退出");
this.cancel();}},5000);//这里百毫秒
System.out.println("本程序存在5秒后自动退出");
}
}
setTimeout()在js类中的使用方法
setTimeout (表达式,延时时间)
setTimeout(表达式,交互时间)
延时时间/交互时间是以豪秒为单位的(1000ms=1s)
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式
1,基本用法:
执行一段代码:
var i=0;
setTimeout("i+=1;alert(i)",1000);
执行一个函数:
var i=0;
setTimeout(function(){i+=1;alert(i);},1000);
//注意比较上面的两种方法的不同。
下面再来一个执行函数的:
var i=0;
function test(){
i+=1;
alert(i);
}
setTimeout("test()",1000);
也可以这样:
setTimeout(test,1000);
总结:
setTimeout的原型是这样的:
iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])
setTimeout有两种形式
setTimeout(code,interval)
setTimeout(func,interval,args)
其中code是一个字符串
func是一个函数.
注意"函数"的意义,是一个表达式,而不是一个语句.
比如你想周期性执行一个函数
function a(){
//...
}
可写为
setTimeout("a()",1000)
或
setTimeout(a,1000)
这里注意第二种形式中,是a,不要写成a(),切记!!!
展开来说,不管你这里写的是什么,如果是一个变量,一定是一个指向某函数的变量;如果是个函数,那它的返回值就 要是个函数
2,用setTimeout实现setInterval的功能
思路很简单,就是在一个函数中调用不停执行自己,有点像递归
var i=0;
function xilou(){
i+=1;
if(i10){alert(i);return;}
setTimeout("xilou()",1000);
//用这个也可以
//setTimeout(xilou,1000);
}
你那个paint方法里面的for循环实在是有损运行效率。再者编程最大的乐趣就是找出其中的错误。千万别把这种乐趣给了别人 。个人建议:你可以在paint()方法内部向控制台输出一条语句。这下程序的运行情况就一目了然了。哪里出错也就一目了然了!!!
在Java中有时候需要使程序暂停一点时间,称为延时。普通延时用Thread.sleep(int)方法,这很简单。它将当前线程挂起指定的毫秒数。如
Java
代码复制内容到剪贴板
try
{
Thread.currentThread().sleep(1000);//毫秒
}
catch(Exception
e){}
在这里需要解释一下线程沉睡的时间。sleep()方法并不能够让程序"严格"的沉睡指定的时间。例如当使用5000作为sleep()方法的参数时,线
程可能在实际被挂起5000.001毫秒后才会继续运行。当然,对于一般的应用程序来说,sleep()方法对时间控制的精度足够了。
但是如果要使用精确延时,最好使用Timer类:
Java
代码复制内容到剪贴板
Timer
timer=new
Timer();//实例化Timer类
timer.schedule(new
TimerTask(){
public
void
run(){
System.out.println("退出");
this.cancel();}},500);//五百毫秒
这种延时比sleep精确。上述延时方法只运行一次,如果需要运行多次,
使用timer.schedule(new
MyTask(),
1000,
2000);
则每间隔2秒执行MyTask()