Frage

Ich habe ein Problem bei der Verwendung von Jung. Ich möchte ein Netzwerkdiagramm zeichnen, in dem die Scheitelpunkte unterschiedliche Formen und Farben und Kanten haben, oder in verschiedenen Farben eine vollständige Linie.

Da ich ein Neuling in Java bin, kann ich die eigentliche Architektur von Jung nicht verstehen. Wenn ich setvertexFillPaintTransformer verwende, werden alle Scheitelpunkte mit derselben Farbe gefärbt. Die Eckpunkte werden in einem Ganzzahl -Array gespeichert. Ich klopfe jetzt für eine Woche meinen Kopf. PLZ, wenn mir jemand helfen kann oder einige Gegenfragen hat, fragen Sie mich

War es hilfreich?

Lösung

Die Methode setvertexFillPaintTransformer Nimmt einen Transformator ein, der einen Eckpunkt in eine Farbe umwandelt. Um unterschiedliche Farben für verschiedene Eckpunkte zu haben, müssen Sie den Scheitelpunkt inspizieren. Der Parameter, ich in der Methode öffentliche Farbe Transform (Ganzzahl i) ist der Scheitelpunkt, sodass Sie eine Farbe bereitstellen können, die auf den Eckpunkten basiert (oder ich). Zum Beispiel, wenn ich ein Diagramm hatte, in dem die Eckpunkte ein waren Ganze Zahl, Ich könnte den Scheitelpunkten drei verschiedene Farben zuweisen, indem ich den folgenden Transformator angibt 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];
    }
};
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top