"Perfettamente funzionante" solo dal punto di vista del cronometro... se chiudi la finestra, il programma rimane appeso perchè nessuno ha pensato di fare il dispose() della finestra.
Ad ogni modo, quel cronometro è preciso al "decimo di secondo", non al centesimo. Se vuoi averlo in centesimi/millesimi di secondo devi modificare:
1) La temporizzazione del Timer: al momento scatta ogni 100 millisecondi (ovvero, ogni decimo di secondo, appunto); va portato a 10 millisecondi (se lo vuoi in centesimi), a 1 millisecondo se lo vuoi in millesimi.
2) Il calcolo della variabile relativo ai decimi di secondo (decSeconds): al momento divide per 100 (calcolando, appunto, il decimo di secondo); dovrai dividere per 10 se vuoi i centesimi di secondo o non dividere affatto se vuoi i millesimi di secondo
3) La stringa di formattazione: "%d:%02d:%02d.%d". L'ulimo segnaposto ( %d ) indica una sola cifra... se vuoi vedere 2 cifre (per i centesimi) andrà adeguata a %02d, se vuoi 3 cifre (i millesimi), dovrà essere %03d.
Per risolvere il problema del processo java che rimane appeso alla chiusura, ti basta inserire questa riga di codice, subito dopo la creazione del JFrame:
codice:frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
PS: copiare il codice scritto da altri può essere utile se lo scopo è quello di leggerlo, capirne il funziomanto e, solo dopo, modificarlo... copiarlo per farselo modificare dagli altri non ha alcun senso.
Ciao.![]()