1

JUNGの使用で問題に直面しています。頂点の形状と色が異なり、エッジが破線または実線で異なる色になるネットワーク図を描きたいと思います。

私は Java の初心者なので、jung の実際のアーキテクチャを理解できません。setVertexFillPaintTransformer を使用すると、すべての頂点が同じ色で着色されます。頂点は整数配列に格納されます。私は今、過去1週間頭を叩いています。誰かが私を助けることができるか、またはいくつかの反論の質問がある場合は、私に尋ねてください

4

1 に答える 1

3

メソッドsetVertexFillPaintTransformerは、頂点を色に変換するトランスフォーマーを取り込みます。したがって、頂点ごとに異なる色を使用するには、頂点を検査するようにする必要があります。public Paint transform(Integer i)メソッドのパラメーターiは頂点であるため、頂点(またはi )に基づく色を指定できます。たとえば、頂点が整数であるグラフがある場合、次のトランスフォーマーをsetVertexFillPaintTransformerに指定することで、頂点に3つの異なる色を循環的に割り当てることができます。

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];
    }
};
于 2010-01-25T13:04:00.150 に答える