我正在尝试使用静态布局为顶点分配固定坐标位置。通常我们可以使用 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);
它开始工作,但随后节点具有默认形状的圆形红色节点。我想完全重绘我上次绘制的结构。那么有什么办法可以解决这个问题吗?