Unica soluzione: i thread.
Non puoi avere un ciclo "infinito" come quello quando hai a che fare con interfaccie grafiche: l'aggiornamento a video e la predisposizione per l'accettazione di nuovi input (da tastiera, mouse, ecc) avviene solo quando il metodo termina (quindi mai).

Sposta la gestione del ciclo in un thread separato. Se vuoi temporizzarlo usa il metodo sleep() del thread.


Ciao.