【发布时间】:2012-10-26 15:14:19
【问题描述】:
if(e.getSource()==continuous)
{
TimerTask task = new TimerTask()
{
public void run()
{
rollthedice();
}
};
timer.schedule(task, java.util.Calendar.getInstance().getTime(), 500);
}
if(e.getSource()==stop)
{
timer.cancel();
}
我按下连续按钮,rollthedice() 每秒执行两次循环,我按下停止按钮 rollthedice() 停止,我一直在寻找的是在我按下停止开始循环后再次按下连续按钮的方法再次rollthedice()方法,stop是停止rollthedice()的连续循环但是我希望能够再次点击连续按钮,idk怎么做,我一直在寻找和寻找
更新的想法:
Runnable runner = new Runnable(){
public void run()
{
rollthedice();
}
}
if(e.getSource()==continuous)
{
future = scheduler.scheduleAtFixedRate(runner, 0, 500, TimeUnit.MILLISECONDS);
}
if(e.getSource()==stop)
{
future .cancel();
}
【问题讨论】:
-
根据 hmjd 的响应,在调用 schedule 之前创建一个新的
Timer。