如何使用不同形状的jung形状变换

时间:2012-12-13 09:28:00

标签: java graph jung

我正在使用jung库绘制我的grap,所以我想知道是否有任何方法可以创建不同形状的顶点而不是创建椭圆。例如,我想要八角形。这就是我设置形状的方式:

    Transformer<String,Shape> vertexSize = new Transformer<String,Shape>(){

    @Override
    public Shape transform(String str) {
        Ellipse2D circle = new Ellipse2D.Double(-5, -5, 10, 10);
        if(drugnames.contains(str)){
            return AffineTransform.getScaleInstance(3,3).createTransformedShape(circle);
        }
        else{
            return AffineTransform.getScaleInstance(1,1).createTransformedShape(circle);
        }

        // TODO Auto-generated method stub
    }
};

1 个答案:

答案 0 :(得分:0)

VisualizationViewer.getRenderContext().setVertexShapeTransformer(vst)

其中vst是Transformer<V, Shape>

AbstractVertexShapeTransformer can do a lot of the heavy lifting for you.

请参阅PluggableRendererDemo了解这些事情的实例(来源是分发的一部分)。

相关问题