Question

Je suis face à un problème dans l'utilisation JUNG. Je veux dessiner un diagramme de réseau où les sommets sont de formes différentes et les couleurs et les bords seront ligne en pointillés ou complète dans des couleurs différentes.

Depuis que je suis un débutant en Java, je suis incapable de comprendre l'architecture réelle de jung. Quand j'utilise setVertexFillPaintTransformer, il colore tous les sommets avec la même couleur. Les sommets sont stockées dans un tableau d'entiers. Je frappais ma tête depuis maintenant une semaine passée. Plz si quelqu'un peut me aider ou a quelques questions de contre, ne me demandez

Était-ce utile?

La solution

La méthode setVertexFillPaintTransformer prend dans un transformateur qui convertit un vertice en une couleur. Donc, pour avoir des couleurs différentes pour différents sommets, vous devez le faire inspecter le sommet. Le paramètre, i dans la méthode Peinture publique de transformation (nombre entier i) est le sommet, de sorte que vous pouvez fournir une couleur qui est basée sur les sommets (ou i ). Par exemple, si j'avais un graphique où les sommets sont Entier , je cycle pourrait affecter trois couleurs différentes aux sommets en fournissant le transformateur suivant 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];
    }
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top