2012-03-10 27 views
3

在我的應用程序中,我想設置不同風格的每個egde。它可以是邊緣顏色或邊緣厚度。 我已閱讀過JUNG的變形金剛,但我沒有發現有用的東西。JUNG2 - 如何設置自定義egde顏色/厚變壓器

你知道有什麼方法將特定顏色或線條粗細設置爲特定邊緣嗎?它可以是某種類型的Transformer或具有諸如setWidth()或setColour()之類的方法的類。例子會很好;)

回答

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); 
2

你想要的類是PluggableRendererContext。有一個示例廣泛使用它(PluggableRendererDemo),其源代碼位於發行版中,並在JUNG網站上以小程序形式進行演示。

相關問題