我想向使用 JUNG 库创建的图形的边缘添加颜色。我有自定义边缘类型的边缘,我在其中将标签和权重设置为边缘。
Transformer<CustomEdge, Paint> edgesPaint = new Transformer<CustomEdge, Paint>() {
private final Color[] palette = {Color.GREEN,
Color.YELLOW, Color.RED};
public Paint transform(CustomEdge edgeValue) {
String stringvalue=edgeValue.toString();
stringvalue=stringvalue.replaceAll("%","");
int value=Integer.valueOf(stringvalue);
if (value<= 10) {
return palette[0];
}
if (value> 10 && value<=20 ) {
return palette[1];
}
else {
return palette[2];
}
}
};
以下行返回一条错误消息,指出 edgesPaint
的类型应为 (string,Paint)
:
visualizationViewer.getRenderContext().setEdgeFillPaintTransformer(edgesPaint);
请帮我解决这个问题。
最佳答案
我猜测您的 VisualizationViewer 被声明为具有边缘类型“String”(即 VisualizationViewer。但如果没有更多上下文,很难确定。
请打印准确的错误消息和堆栈跟踪。显示 VisualizationViewer 的声明也可能会有所帮助。
关于java - 添加颜色到自定义边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252697/