Domanda

Sono di fronte a un problema nell'uso JUNG. Voglio disegnare un diagramma di rete in cui i vertici saranno aventi forme differenti e colori e bordi saranno tratteggiata o linee in diversi colori.

Dato che io sono un novizio in Java, non sono in grado di comprendere l'architettura attuale di Jung. Quando uso setVertexFillPaintTransformer, colora tutti i vertici con lo stesso colore. I vertici sono memorizzati in una matrice intera. Sto sbattere la testa per oltre una settimana ormai. Plz se qualcuno mi può aiutare o ha alcune domande da banco, mi chiedere

È stato utile?

Soluzione

Il metodo setVertexFillPaintTransformer prende in un trasformatore che converte un vertice in un colore. Quindi, per avere colori diversi per i diversi vertici, è necessario rendere ispezionare il vertice. Il parametro, i nel metodo Colore pubblica trasformare (Integer i) è il vertice, in modo da poter fornire un colore che si basa sui vertici (o i ). Ad esempio, se avevo un grafico in cui i vertici erano un Integer , ho potuto ciclo assegnare tre colori differenti ai vertici fornendo il seguente trasformatore di setVertexFillPaintTransformer :

Transformer<Integer, Paint> vertexPaint = new Transformer<Integer, Paint>() {
    private final Color[] palette = {Color.GREEN, Color.BLUE, Color.RED}; 

    public Paint transform(Integer i) {
        return palette[i.intValue() % palette.length];
    }
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top