Java 计时器 Timer 和 TimerTask 用法总结(源码)
在家学技术实在是不好坚持,心里老是想给自己放个假,但是现在俺又太菜,
又想赶赶技术。前天做一个五子棋程序,
遇到了计时器功能的需求,但是这个我没用过,就总结一下吧,不过虽然是会用了,但是和
swing 的代码整合还是有问题,困扰好久
,到现在也没解决,一气之下,看了三部电影,呵呵。
这个计时器,就是为了使在下五子棋过程中,黑白双方,轮流下的时候,给下
棋一方计时,并且要求,时间动态显示在
面板上,就是一秒一秒在走的效果,等这方下了之后,这方的时间停,另一方的表开始走。
因为我这个计时器的时间显示是通过
Graphics 手绘在面板上显示的,并不是单独一个文本域显示,所以每走一秒要重绘一次面
板,功能需求十分的不爽。而 Java 实现
倒计时,需要递归调用,本来实现秒表就够麻烦了,还要和 JFrame 整合在一起,JFrame
的状态标识属性又多,看着看着就晕了。
尝试个很多次,都没实现。不过 timer 这个计时器倒是实现了,其实如果那个计时器实现
了,这个五子棋就完美了,然后就可以用我想的
广义遍历坐标算法尝试实现人工智能了,就是模拟人机对战。但是这个功能不搞定,实在没
心情往下写代码了。好了起因就说到这。
下面给两份源码,一份是基本的,一份是整合 JFrame 的,不过这个整合和俺的
需求不符,所以没用上。
下面是基本类的使用源码:
package com.sy.game.test;
import java.util.Timer;