Actualizar una etiqueta con un temporizador de oscilación

Tengo algunos problemas con este código.

Estoy comenzando un temporizador con un número aleatorio, y quiero actualizar un JLabel con la cuenta regresiva, cada segundo. Pero no he descubierto cómo hacerlo, ya que el único oyente que dispara el temporizador está al final (eso lo sé).

Aquí está el código:

int i = getTimer(maxWait);
te1 = new Timer(i, this);
label.setText(i+"");
te1.start();

...

public int getTimer(int max){
    Random generator = new Random();
    int i = generator.nextInt(max);
    return i*1000;
}

...

public void actionPerformed(ActionEvent ev){
    if(ev.getSource() == te1){
        label.setText(i+"");
        te1.stop();
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta