JUNG:在静态布局上设置顶点位置

时间:2012-02-17 15:29:45

标签: java graph jung

我正在尝试使用静态布局为顶点分配固定坐标位置。通常我们可以使用layout.transform(Vertex);

将顶点坐标作为Point2D对象

现在我想初始化一个布局并将顶点设置在指定的位置但不知何故我被卡住了。如果我实现Transformer<Vertex, Point2D> interface:

,我在StackOverflow上阅读
Transformer<Vertex, Point2D> locationTransformer = 
                           new Transformer<Vertex, Point2D>() {
    @Override
    public Point2D transform(Vertex) {
        Point2D p2d = //here i calculate the position
        return p2D;
    }
};  

我试过这个。在固定的图形上它可以工作,但我有一个可编辑的图形,并且没有任何反应。我期待如果我已经修复了上面的位置,那么无论我通过鼠标点击添加哪个节点,它都应该转到固定位置而不管我把它放在哪里?

你能告诉我一些可能的原因吗? 或者使用可编辑的图表,它是否会在某个地方再次覆盖位置?

更新
如果我从visualizaton viewer中删除这些实现:

vv.getRenderContext().setVertexFontTransformer(fontTransfoer);
vv.getRenderContext().setVertexFillPaintTransformer(colorTransformer);
vv.getRenderContext().setVertexShapeTransformer(shapeTransformer);  

它开始工作,但是节点的默认形状为圆形红色。我想完全重绘上次绘制的结构。那么这个问题可以解决吗?

0 个答案:

没有答案