Originariamente inviato da iacoposk8
ciao a tutti! ho un ciclo while, al suo interno vorrei mettere una pausa, io vengo dal C dove si faceva con lo Sleep, ma qua non mi funziona... la mia domanda è, come faccio a mettere una pausa di tot secondi?
Devo estendere la classe con il Thread? e se sono in un applet come mi comporto?
grazie.
Alt. Thread.sleep() è il metodo per sospendere per un tot di tempo il thread corrente (quello che l'ha invocato, chiaramente).

Il punto è che questo puoi farlo senza problemi se hai il pieno controllo della interazione con l'utente, ad esempio in una applicazione "console" (dove "sai" quando leggi l'input e quando scrivi in output).

Ma in una applicazione "grafica" (che sia stand-alone o una applet non cambia), la interfaccia va avanti per "eventi" e c'è il ben noto thread chiamato EDT, che è il singolo thread che si occupa del disegno della interfaccia grafica e del dispacciamento degli eventi. Thread che non si deve mai tenere occupato per troppo tempo (quindi una sleep e per un certo tempo, no!).
Quindi la questione è vedere cosa devi fare, quando e in base a questo scegliere tra il gestire un thread a parte o usare un timer (java.util.Timer o javax.swing.Timer, anche qui ... dipende).