Deve per forza fare così nel ciclo :
codice:
 for(int k=0; k<asc.length;k++) {
               disegnatoreGrafo.addVertice(asc[k], ord[k], nomi[k]);
               disegnatoreGrafo.evidenziaVertice(nn, getColore(i));

               nn++;
           }
getColore(i) <----- il valore di > i < non cambia mai.

Quindi ogni volta che esegui il ciclo for (e non ci sono istruzioni per uscirne anzitempo)
setti tutti i nodi al colore i che hai definito al di fuori del ciclo stesso.