Java: Poczekaj na zakończenie działania TimerTask przed kontynuowaniem wykonywania

Mam trochę denerwującego problemu. W tej chwili mam fragment kodu, który uruchamia wątek, ustawia timer w tym wątku, a następnie zamyka ten wątek i kontynuuje swoje życie. Moim zamiarem było, aby program poczekał, aż TimerTask zakończy się przed kontynuowaniem przepływu kodu. Jednak, oczywiście, utworzenie nowego zadania TimerTask nie wstrzymuje wykonywania, aby poczekać, aż zegar się skończy.

Jak ustawić to tak, aby mój kod dotarł do TimerTask, czeka na wygaśnięcie TimerTask, a następnie kontynuuje? Czy powinienem w ogóle używać Timera? Szukałem wszędzie rozwiązania, ale nie mogę go znaleźć.

timer = new Timer();
    Thread t = new Thread(new Runnable(){
        boolean isRunning = true;
        public void run() {
            int delay = 1000;
            int period = 1000;
            interval = 10;
            timerPanel.setText(interval.toString());

            //Scheduling the below TimerTask doesn't wait
            //for the TimerTask to finish before continuing
            timer.scheduleAtFixedRate(new TimerTask() { 

                public void run() {
                    timerPanel.setText(setInterval().toString());
                }
            }, delay, period);

            System.out.println("Thread done.");
        }
    });
    t.start();

    try {
        t.join(); //doesn't work as I wanted
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    endTask();

Z góry dziękuję.

EDIT: Przepraszam za zamieszanie związane z powtarzanym zadaniem. Muszę powtórzyć zadanie, ponieważ jest to zegar odliczający, który pulsuje co sekundę od 10 do 0. Funkcja setInterval () ostatecznie anuluje timer. Oto odpowiedni kod:

private final Integer setInterval() {
    if (interval == 1)
        timer.cancel();
    return --interval;
}

questionAnswers(3)

yourAnswerToTheQuestion