Salve a tutti,
Devo realizzare un'animazione con la libreria swing di java e in particolare con la classe Timer. Il problema che ho è che se imposto al timer una velocità di 1-5 millisecondi non è preciso e il minimo che riesce a generare è di 10-12 millisecondi. Per risolvere il problema dell'attesa ho dovuto eliminare la classe timer e crearmene uno mio custom con una funzione waitTimer del tipo:
codice:
private void waitTimer() { int count1 = 0;
long time=0;
long startTime = System.nanoTime();
while (time < timer) {
while(count1 <= 200)
count1++;
count1=0;
time = (System.nanoTime()-startTime);
}
}
Con questa funzione finalmente posso passare all'evento successivo con il tempo che voglio, volendo anche inferiore al millisecondo!. L' unico problema è che questa soluzione non è precisa in quanto se impongo che deve aspettare 1 millisecondo capita che a volte aspetti 1 millisecondo ( la maggior parte delle volte ) e a volte ( raramente ) di più, anche 10 millisecondi, così rendendo l'animazione poco fluida. Vorrei sapere se conoscete soluzioni più "corrette" e più "precise" che mi possano far utilizzare la classe Timer di swing garantendo un tempo di 1-2 millisecondi.
Grazie anticipatamente