2

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

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

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

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

你能给我一些想法可能是什么原因吗?或者使用可编辑的图表,它是否再次覆盖了某个位置?

更新:
如果我从可视化查看器中删除这些实现:

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

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

4

0 回答 0