gpt4 book ai didi

java - 如何正确使用 JUNG 布局变换?

转载 作者:行者123 更新时间:2023-11-30 09:44:05 25 4
gpt4 key购买 nike

我在使用 JUNG 的 DAGLayout 算法时遇到了一些问题,随后再次将布局坐标读出到我自己的数据结构中。

我有一个 Network 类,其中包含 NodeEdge 的列表。为了将其转换为 JUNG 数据结构,我创建了一个 DirectedSparseMultigraph 对象并添加了边。 e.getSrc()e.getDest() 返回 Node 对象。

DirectedSparseMultigraph<Node, Edge> graph;
for (Edge e : net.getEdges()) {
graph.addEdge(e, e.getSrc(), e.getDest());
}

然后,我应用布局算法。

Layout<Node, Point2D> layout;
layout = new DAGLayout(graph);

之后,我使用布局来获取顶点坐标。

for (Node node : net.getNodes()) {
Point2D coord = layout.transform(node);
node.setPos((float)coord.getX(), (float)coord.getY());
}

但是 Node 对象总是将 (0,0) 作为 (x,y)。

为什么这不起作用,我该如何解决?

最佳答案

我对 JUNG 不太熟悉,但我认为您必须首先指定布局的大小,例如:

layout.setSize(new Dimension(800,600));

关于java - 如何正确使用 JUNG 布局变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068433/

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