duda sobre donde instanciar un Timer

Miguel
11 de Mayo del 2011
Hola,

tengo una clase llamada Juego donde defino un Timer en el constructor de la siguiente forma:

public class Juego
{
private Timer timerBajar;
private ActionListener tareaBajar;

// ............constructor
public Juego()
{
ActionListener tareaBajar = new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
pieza.mueveAbajo(campoDeJuego.getTablero());
}
};
Timer timerBajar = new Timer (1000,tareaBajar);
}

//......... metodo principal
public void start()
{
campoDeJuego.ponerPieza(pieza);
campoDeJuego.dibujarTablero();
timerBajar.start();
...
}

Pues bien, si pongo el timerBajar.start(); en el constructor, funciona correctamente, pero si la pongo donde en start (que es lo que he copiado aqui), me da el error java.lang.NullPointerException: null

es decir como si la variable timerBajar no estuviese instanciada, pero yo he creado una instancia en el constructor y además la variable es de la clase. ¿que hago mal?

Muchas gracias