ho questa funzione che ordina con l'algoritmo bubble le carte di un seme (13 numeri). ho aggiunto del codice perchè rappresento graficamente il suo funzionamento con lo spostamento delle carte. la funzione lavora correttamente e anche la grafica.il mio problema è che tra un operazione è l'altra di ordinamento voglio che passi del tempo morto in modo tale che si capisca graficamente i passaggi che vengono effettuati. Ho provato ad inserire più Timer, ma dopo che il secondo viene lanciato si blocca tutto e nn va avanti. é corretta questa soluzione o no?
la classe Tempo nn fa niente
codice:
Timer timer = new Timer();
TimerTask task = new Tempo();
public void bubbleSort(int[] a, int l, JPanel [] panel, JPanel app )
{
try{
int n = a.length;
for (int pass=1; pass < n; pass++) {
for (int i=0; i < n-pass; i++) {
timer.schedule( task, 1000 );
if (a[i] > a[i+1]) {
// scambia elementi
int temp = a[i];
app.removeAll();app.add(panel[i].getComponent(0));app.validate();
timer.schedule( task, 1000 );
a[i] = a[i+1];
panel[i].removeAll();panel[i].add(panel[i+1].getComponent(0));panel[i].validate();
timer.schedule( task, 1000 );
a[i+1] = temp;
panel[i+1].removeAll();panel[i+1].add(app.getComponent(0));panel[i+1].validate();
timer.schedule( task, 1000 );
}
}
}
} catch (Exception e){}
}
}