我在使用JUNG时遇到了问题。我想画一个网络图,其中顶点将具有不同的形状和颜色,边缘将是虚线或全线以不同的颜色。
由于我是Java的新手,我无法理解jung的实际架构。当我使用setVertexFillPaintTransformer时,它会为所有具有相同颜色的顶点着色。顶点存储在整数数组中。我现在正在敲打我的头一周。 如果有人可以帮助我或有一些反问题,请问我
答案 0 :(得分:3)
方法 setVertexFillPaintTransformer 接收将顶点转换为颜色的变换器。因此,要为不同的顶点设置不同的颜色,您需要使其检查顶点。方法 public Paint transform(Integer i) 中的参数 i 是顶点,因此您可以提供基于顶点的颜色(或 i )。例如,如果我有一个顶点是整数的图形,我可以通过向 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];
}
};