import java.util.Timer;
import java.util.TimerTask;
import java.awt.Toolkit;

/**
 * Utilização de um temporizador repetitivo.
 */
public class RepetidorBeep
{
    Timer timer;

    public RepetidorBeep() {
        timer = new Timer();
        timer.schedule(
                new Repetidor(),
                1500,   //atraso inicial:....... 1.5 s
                2000    //taxa de repetição:.... 2.0 s
        );
    }


    class Repetidor extends TimerTask
    {
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        int numRepeticoes = 3;

        public void run() {
            if (numRepeticoes > 0) {
                toolkit.beep();
                System.out.print("   Beep .....\n");
                numRepeticoes--;
            } else {
                toolkit.beep();
                System.out.print("Ultima iteracção\n");
                timer.cancel();
            }
        }
    }


    /**
     *  M A I N
     */
    public static void main(String args[]) {
        System.out.print("\nVou iniciar o \"Repetidor Beep\"\n");
        new RepetidorBeep();
        System.out.print("Terminei o \"main\"\n");
    }
}