向自定义边添加颜色

时间:2011-08-31 04:54:42

标签: java graph jung

我想在使用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);

请帮助我。

1 个答案:

答案 0 :(得分:1)

Offhand我猜你的VisualizationViewer被声明为边缘类型为“String”(即VisualizationViewer。但没有更多的上下文,很难确定。

请打印确切的错误消息和堆栈跟踪。显示VisualizationViewer的声明也可能会有所帮助。