Precedente Indice Successiva

Animare la palla - Il metodo run e stop

  • Dovremo poi scrivere il metodo public void run(); che esegua il movimento.
  • Questo metodo dovrà fare un ciclo che modifichi le coordinate della palla, ad una velocità costante (diciamo 20 volte al secondo) e calcoli il rimbalzo sui bordi.
  • Occorre notare che il metodo public void run(); non viene invocato solo dal thread, ma anche dal processo principale.
  • Inoltre occorre prevedere di interrompere il ciclo quando premiamo fine nella finestra, altrimenti il programma non termina.
  • Per questo motivo quindi, il nostro ciclo dovrà verificare che il thread corrente corrisponda ad animazione: while (Thread.currentThread() == animazione)
  • Per interrompere il ciclo quindi, nel metodo public void stop(); non ci servirà altro che mettere a null l'attributo animazione e il ciclo terminerà.
  • Per introdurre una pausa che regoli la velocità del ciclo utilizzeremo il metodo statico Thread.sleep(long millis);
  • Questo metodo può inviare un'eccezione se la pausa viene interrotta anzitemtpo. Inseriremo quindi l'invocazione in un blocco try/catch dove la catch non farà alcuna azione.
© Ing. Stefano Salvi - released under FDL licence

Valid XHTML 1.0! Valid CSS!