请问一个定时器的问题。。。。。。
一个定时器,在程序运行时就开始计时,程序界面上有个按钮,如果显示为“停止”,按下就停止计时,反之按下后开始计时。
...
Timer timer = new Timer();
MyTask tasks=new MyTask();
class MyTask extends java.util.TimerTask{......}
...
...
初始化函数中:{timer.schedule(tasks, 0, 1000);}
...
...
public void jButton1_actionPerformed(ActionEvent e) {
if (jButton1.getText()== "开始 ")
{
XXXXXXXXXXXX
jButton1.setText( "停止 ");
}
else
{
tasks.cancel();
jButton1.setText( "开始 ");
}
}
现在我不知道按下“开始”的代码应该怎样写。因为按下“停止”后,初始化时建立的MyTask对象就没了,按下“开始”,又要新建一个MyTask对象,但是这个对象不能在else中被调用啊。
------解决方案--------------------用多线程好了
------解决方案--------------------这边只能用线程
------解决方案--------------------對,用線程解決比較容易
------解决方案--------------------这个技术我刚用过,很简单的,你把Timer搞成全局的static变量就可以了.
/** Timer */
private static Timer timer = new Timer();
开始:timer.schedule(tasks, 0, 1000);
停止:timer.cancel();
------解决方案--------------------timer本身就是一个线程呀,应该能实现