gpt4 book ai didi

JGraphX - 仅自动布局边缘

转载 作者:行者123 更新时间:2023-12-02 13:53:01 24 4
gpt4 key购买 nike

我是否可以仅在图形边缘上运行自动布局?我有很多固定的顶点,我不想移动/重新排列,但我确实想修复与我的单元格/顶点重叠的边缘。有什么办法可以做到这一点吗?

最佳答案

布局,即 mxIGraphLayout 实现,仅关注可见单元格,并且它们通过 mxGraph 对象 API 访问这些单元格。因此,正确的解决方案是根据您的需要对 mxGraph 进行子类化并重写 isCellVisible(Object cell) 方法。这样您就可以创建图形的替代 View 。

当然,您也可以更改模型中的实际单元可见性 (graph.getModel().setVisible(cell, false)) 并在布局执行后将其恢复。但这似乎是一种黑客行为。

或者,您可以子类化布局类本身并重写这些方法:

public boolean isVertexMovable(Object vertex)
{
return graph.isCellMovable(vertex);
}

public boolean isVertexIgnored(Object vertex)
{
return !graph.getModel().isVertex(vertex)
|| !graph.isCellVisible(vertex);
}

public boolean isEdgeIgnored(Object edge)
{
mxIGraphModel model = graph.getModel();

return !model.isEdge(edge) || !graph.isCellVisible(edge)
|| model.getTerminal(edge, true) == null
|| model.getTerminal(edge, false) == null;
}

关于JGraphX - 仅自动布局边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34776095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com