1

我在使用 JUNG 时遇到问题。我想绘制一个网络图,其中顶点将具有不同的形状和颜色,边缘将以不同颜色显示为虚线或实线。

由于我是 Java 新手,我无法理解 jung 的实际架构。当我使用 setVertexFillPaintTransformer 时,它会用相同的颜色为所有顶点着色。顶点存储在一个整数数组中。我现在正在敲打我的头已经过去一个星期了。如果有人可以帮助我或有一些反问题,请问我

4

1 回答 1

3

setVertexFillPaintTransformer方法接受一个将顶点转换为颜色的转换器。所以要对不同的顶点有不同的颜色,你需要让它检查顶点。方法public Paint transform(Integer i)中的参数i是顶点,因此您可以提供基于顶点(或i)的颜色。例如,如果我有一个顶点是Integer的图形,我可以通过向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];
    }
};
于 2010-01-25T13:04:00.150 回答