【问题标题】:how to use different shapes for jung shape transform如何使用不同的形状进行 Jung 形状变换
【发布时间】:2014-12-31 10:36:34
【问题描述】:

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

    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
    }
};

【问题讨论】:

  • Polygon 怎么样?
  • 我尝试使用多边形,但它给了我非常不相关的形状。
  • 向我们展示您对Polygon 所做的事情,并向我们展示“不相关”的形状。因为我认为这是你需要使用的......
  • 您是否将转换器添加到您的 RenderContext 中?

标签: java graph jung


【解决方案1】:
VisualizationViewer.getRenderContext().setVertexShapeTransformer(vst)

其中 vst 是 Transformer&lt;V, Shape&gt;

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

请参阅PluggableRendererDemo 了解这些实际操作的示例(来源是分发的一部分)。

【讨论】:

    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多