Questo programma funziona bene ...
setRepeats(boolean flag)
funzione utilizzata per impostare chiamare il function(actionPerformed)
ripetutamente o una sola volta se
timer.setRepeats(false) == timer
chiama il metodo actionperformed per una sola volta
timer.setRepeats(true) == timer
chiama il metodo actionPerformed più volte in base al tempo specificato
swing Timer lavoro
- fare l'operazione una sola volta
- fare il compito ripetuto tempo
passaggi per creare timer altalena:
- creare l'ActionListener
- creare il costruttore temporizzatore poi passare il tempo e ActionListener in quel
- implementare la funzione
actionPerformed()
in cui fare il vostro compito
- uso
timer.start()
per avviare l'attività tra il tempo specificato nel costruttore timer, utilizzare timer.stop()
per fermare il compito
Esempio:
ActionListener al=new ActionListener(
public void actionPerformed(ActionEvent ae)
{
//do your task
if(work done)
timer.stop();//stop the task after do the work
}
);
Timer timer=new Timer(1000,al);//create the timer which calls the actionperformed method for every 1000 millisecond(1 second=1000 millisecond)
timer.start();//start the task
fonte
2014-10-09 10:18:08
vero . Non ho mai provato il timer senza una GUI. – akarnokd
Grazie, ho trovato che il mio logger dei problemi è inizializzato dopo l'esecuzione di questo codice, ecco perché non ho mai visto i miei messaggi di test. cambio del logger con println aiutato. –
IIRC, non dovresti usare javax.swing.Timer fuori dall'EDT. –