Problema com Timer

Bom, estou tentando fazer um Timer, fiz… ele executa até a ultima linha, mas depois disso gera uma exception…

segue o codigo.

[code]package br.edu.home.timer;
import java.util.Timer;
import java.util.TimerTask;

public class Cronometro extends TimerTask {
Timer relogio;

public Cronometro (int segundos){
    relogio = new Timer();
    relogio.schedule(new Alarme(), segundos*1000);

}

public Cronometro (){}

@Override
public void run() {
    throw new UnsupportedOperationException("Not supported yet.");
}

    }

[/code]

segue a outra classe.

[code]package br.edu.home.timer;
import java.awt.Toolkit;

public class Alarme extends Cronometro {
@Override

public void run(){
    Toolkit.getDefaultToolkit().beep();
          System.out.println("seu tempo acabou!");

relogio.cancel();// Thread finalizada

}
}[/code]

agora fazendo o programa funcionar.

[code]package br.edu.home.teste;
import br.edu.home.timer.*;

public class Teste

 public static void main(String[] args)

      new Cronometro(5);

[/code]

Ele executa perfeitamente, acho que só não faz o bib, e no final gera uma exception, segue a saida do programa.

seu tempo acabou!
Exception in thread "Timer-0" java.lang.NullPointerException
        at br.edu.home.timer.Alarme.run(Alarme.java:18)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

O certo não era Relogio.schedule(this, segundos * 1000) ?

bom, sou iniciante em java, tentei com o “this” so que agora acontece uma outra exception.

Exception in thread "Timer-0" java.lang.UnsupportedOperationException: Not supported yet.
        at br.edu.clocks.testes.Cronometro.run(Cronometro.java:28)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

Agradeço desde já

Sim, daí no caso você teria que criar com

new Alarme(5);

E não

new Cronometro(5);

Pode ver que essa exception é você mesmo que lança, no método run da classe Cronometro.

Mas quando eu criasse esse objeto o metodo construtor nao teria que ter algum parametro?
ou eu criaria o objeto apartir do construtor sem parâmetros?

Bom, consegui resolver meu problema… o metodo run executa oque eu quero depois que passa o tempo, no caso eu estava dando o comando errado… agora esta tudo funcionando perfeitamente!

Problema Resolvido!