java - getEdge() 方法为我刚刚创建的边返回 null

标签 java jgrapht

我想将我的代码(mthing)中的某些元素与图形的某些边关联起来,但是当我试图获取我刚刚创建的边时 - 我得到了空值。我是否以错误的方式使用这种方法?我是否总是必须使用 getEdgeSource() 方法?如果我不想传递整个图,只传递一条边,我该怎么办?

graph.addEdge(c2, c1);
System.out.println("added connection c2 c1" + graph.getEdge(c2, c1));

MovingThing mthing = new MovingThing(parent, graph.getEdge(c1, c2));    

以防万一:我通过一些方法扩展了 DefaultEdge,并且扩展的边缘类和上面的代码位于同一个包中。我在遍历所有边缘时没有任何问题。

最佳答案

您可能正在使用有向图,并创建从 c2 到 c1 的边,然后将不存在的边从 c1 传递到 c2,因此 null 到您的 MovingThing 构造函数中

关于java - getEdge() 方法为我刚刚创建的边返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30085990/

相关文章:

java - 控制台窗口中的密码屏蔽和java中的递归函数调用

java - 使用 com.jgraph.layout 格式化 JGraph 图形 - 刷新显示

java - 是否可以在 JGraph 中使用继承

java - JGraph - 覆盖单元格拖动

java - JGraphT 中未加权图的单源最短路径

java - 如何在Java中为gson确定运行时对象的类型

Java基于列表值计数的排序映射

java - Java有界通用协方差

java - 在同一个类中扩展并实现

java - Android 中的 JGraphT 实现