Ciao a tutti!
Sto imparando java da sola, per implementare un algoritmo risolutivo per la mia tesi.
Per disegnare i nodi di un grafo il professore mi ha dato alcuni strumenti già costruiti, tra cui:
che mi aggiunge un vertice alla lavagna, cioè alla finestra che corrisponde al piano cartesiano.codice:public void addVertice(double x, double y,String et) { if(x < xMin) xMin = x; else if(x > xMax) xMax = x; if(y < yMin) yMin = y; else if(y > yMax) yMax = y; FiguraGeometrica v=null; double d = Math.min(xMax-xMin, yMax-yMin)/scaleFactor; if (vertici.size()==0) v = new Rettangolo(2*d,2*d,VERTICE_COLORE_DEFAULT); else v = new Cerchio(d,VERTICE_COLORE_DEFAULT); v.setPosizione(x,y); vertici.add(v); Etichetta e = new Etichetta(et); e.setColore(ETICHETTA_COLORE_DEFAULT); e.setPosizione(x,y); etichetteVertici.add(e); if (lavagna!=null) { lavagna.aggiungi(v); lavagna.aggiungi(e); } }
che mi cambia di colore nodo che gli passo, andando a recuperarlo con getVertice...codice:public void evidenziaVertice(int nodo, Color colore) { FiguraGeometrica v = getVertice(nodo); lavagna.cancella(v); v.setColore(colore); lavagna.aggiungi(v); }
Nel mio programma eseguo le istruzioni:
Il problema è che mi disegna i nodi tutti dello stesso colore... dipende da come gli passo io il colore?o da che altro? graziecodice:for(int k=0; k<asc.length;k++) { disegnatoreGrafo.addVertice(asc[k], ord[k], nomi[k]); disegnatoreGrafo.evidenziaVertice(nn, getColore(i)); nn++; } ..... private static Color getColore(int i){ Color[] colore =new Color[13]; colore[0]=Color.white; colore[1]=Color.blue; colore[2]=Color.black; colore[3]=Color.cyan; colore[4]=Color.gray; colore[5]=Color.green; colore[6]=Color.lightGray; colore[7]=Color.magenta; colore[8]=Color.orange; colore[9]=Color.pink; colore[10]=Color.red; colore[11]=Color.yellow; colore[12]=Color.darkGray; return colore[i]; }

Rispondi quotando
