Java timer con retraso no fijo

Necesito unTimer que básicamente hace algo cada t segundos. Pero quiero poder modificar el período del temporizador en el que el temporizador repite la tarea. Escribí algo como esto:

public Bot() {
    timer = new Timer();
    timer.schedule(new Task(), 1000, moveTime = 1000);          
}

public class Task extends TimerTask {
    @Override
    public void run() {
        System.out.println("Time Passed from last repeat:" + movetime)
        moveTime += 1000;
    }

Entonces, después de 1000ms de retraso, el temporizador comienza y se repite cadamoveTime Sra. El problema es incluso si aumentémovetime por 1000, el temporizador siempre se ejecuta en el retraso inicial (1000) pero el valor demovetime aumenta (2000, 3000, 4000, etc.) cada vez que el temporizador llama arun().

Me falta algo o qué alternativa tengo para repetir una tarea cada 't' segundo con 't' siendo variable?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta