日期:2014-05-20  浏览次数:20586 次

Java Timer
Java 中新建一个Timer类,调用的它的schedule方法执行TimerTask类中run()的内容,但是同时系统会继续执行schedule函数后的代码,怎样才能做到run()中的代码执行完之后,再执行schedule后的代码?求解答
------最佳解决方案--------------------
那你直接创建个线程,让它定期调用下窗口大小修改不就好了?

类似:
public void run() {
    while (true) { // 死循环或某种终止条件,比如窗口大小已经快没了
        //TODO:改变窗口大小
        Thread.sleep(200);
    }
    // 结束如果有什么处理就写在这里了
}

调用时:
MyThread worker = new MyThread(mainWnd);
worker.start();


“几毫秒改变一次窗口大小”
——汗啊,不要这么折腾电脑。。。
------其他解决方案--------------------
也就意味着你本来就打算串行执行这些代码?

那么这种情况下,你为啥要用Timer?
------其他解决方案--------------------
同ls问

直接调用TimerTask对象的run方法即可
------其他解决方案--------------------
同意ls
------其他解决方案--------------------
同一楼的问
------其他解决方案--------------------
我在run()中执行的代码是重设窗口大小,要实现对窗口的动态改变,即几毫秒改变一次窗口大小,使其有动态效果,如果要实现这种机制,是否有什么更好的办法呢? 大神们,莫见笑,呵呵。