gpt4 book ai didi

java - TimerTask 只触发一次

转载 作者:行者123 更新时间:2023-11-30 09:14:18 25 4
gpt4 key购买 nike

我设置了 TimerTask UpdateTask,但它只在我启动程序时触发一次。为什么不继续触发?

这里的一些方法在其他类中,如果您需要它们,请随时告诉我。

import java.awt.Graphics;
import java.util.Timer;
import java.util.TimerTask;


public class graphpanel extends variables
{
Timer timer = new Timer();

int ypoint;
int barheight;

int height = getHeight();
int width = getWidth();
int bars = (int)getLife() - (int)getAge();
int xpoint = 0;
int barwidth = 20;

public graphpanel()
{
timer.schedule(new UpdateTask(), 10);
}


public void paintComponent (Graphics g)
{
super.paintComponent(g);

for (int i = 0; i < bars; i++)
{
barheight = (int) getTime(i)/100;
ypoint = height/2 - barheight;
g.drawRect(xpoint, ypoint, barwidth, barheight);
g.drawString("hey", 10*i, 40);
}
}

class UpdateTask extends TimerTask
{
public void run()
{
bars = (int)getLife() - (int)getAge();
System.out.print("TimerTask detected");
repaint();
}
}

最佳答案

Timer.schedule(TimerTask, long) 仅安排一次性执行的任务。

使用

timer.scheduleAtFixedRate(new UpdateTask(), 10, 10);

用于重复调用您的 TimerTask

更多信息:JavaDoc

关于java - TimerTask 只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20575813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com