JUNG2 - 如何设置自定义边缘颜色/厚变压器

时间:2012-03-10 20:32:57

标签: java jung

在我的应用程序中,我想用不同的风格设置每个egde。它可以是边缘颜色或边缘厚度。 我已经读过JUNG的变形金刚,但我没有发现任何有用的东西。

您知道如何将特定颜色或线条粗细设置为特定边缘吗?它可以是某种具有setWidth()或setColour()等方法的Transformer或类。示例会很好;)

2 个答案:

答案 0 :(得分:6)

谢谢,这是工作示例:

private Transformer<String, Paint> edgePaint = new Transformer<String, Paint>() {
    public Paint transform(String s) {
        return Color.RED;
    }
};

private Transformer<String, Stroke> edgeStroke = new Transformer<String, Stroke>() {
    float dash[] = { 10.0f };
    public Stroke transform(String s) {
        return new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f);
    }
};

(...)

vv.getRenderContext().setEdgeDrawPaintTransformer(edgePaint);
vv.getRenderContext().setEdgeStrokeTransformer(edgeStroke);

答案 1 :(得分:2)

您想要的课程是PluggableRendererContext。有一个广泛使用它的例子(PluggableRendererDemo),其源代码在发行版中,并在JUNG网站上以applet形式演示。