【发布时间】:2012-03-10 06:51:56
【问题描述】:
如何添加两个标签相同但端点不同的边?
例如,我想添加两条具有相同标签“label1”的边,一条从顶点 v-1 到顶点 v-2,另一条从顶点 v-2 到 v-3。
部分代码是:
g.addEdge("label1","v-1","v-2");
g.addEdge("label1","v-2","v-3");
但是 JUNG 不允许添加具有相同标签的两条边。它给出了一个错误:
边 label1 已经存在于该图中,端点为 [v-1, v-2] 并且不能 添加端点 [v-2, v-3]
如何添加具有相同标签的两条边?
谢谢。
编辑:
我刚刚读到有一种方法可以为边缘分配权重值,即使用EdgeWeightLabeller,但这些权重值应该是整数。所以它似乎并没有解决问题。
【问题讨论】:
-
你能在第二条边上加一个空格吗?
"label1 " -
谢谢乔普·埃根。这真是个好主意!它解决了两条边的问题,这就是我在这里提出的问题:) 但为了简单起见,我要求两条边。实际上我会得到很多这样的优势。所以我不知道如果我为每个这样的边缘标签添加一个空格,我的图表会是什么样子。无论如何,再次感谢您的想法。
-
仅凭名称搜索顶点或边会很困难。如果您想要两个以上具有相同标签名称的顶点会发生什么?你会追加更多的空格吗?我不这么认为。您如何定义一个包含几个字段的自定义 Java 类(用户数据);一个字段用于唯一 ID,一个字段用于其名称;将此类应用为通用顶点部分(您可以对通用边缘部分执行相同操作,但使用另一个自定义类)。使用
vertexLabelTransformer()显示类实例的名称部分,但使用唯一id进行搜索等。
标签: java swing jung visualizer