我目前正在为ProM编写插件,以防有人熟悉。通常,有一个图表示为ProMJGraph
,直接从JGraph
派生。
该图包含:ProMGraphEdge
(org.jgraph.graph.DefaultEdge
的直接子代)和ProMGraphCell
(org.jgraph.graph.DefaultGraphCell
的直接子代)。
我必须在边缘贴标签。
例如,我存储了一个指针,该指针指向类型为jgraph
的变量e0
的名为ProMGraphEdge
的图形的第一条边。
我无法用Google搜索出来,现在应该在什么地方调用什么以便为边缘e0
设置标签“ hello”?
如果列表中的任何人都有JGraph手册的链接,请在此处发布。我找不到jgraph和NOT JGraphX或JGraphT的参考书。
更新。找到了:http://touchflow.googlecode.com/hg-history/75fada644b2a19c744130923cbd34747fba861a2/doc/jgraphmanual.pdf
upd2。我找到了第3.5.2章“使用边”,其中应该包含我的问题的答案。 pdf中提供的源可能不适用于ProM。也许如果Process Miner(ProM)中遇到任何人,如果ProMJGraph
有点棘手,他/她可以给我一些提示。
最佳答案
它恰好是ProM特定的。
问题中提到的pdf的3.5.2节包含有关如何向纯JGraph添加标签的答案,而我不得不使用一些不同的代码才能产生任何效果:
newArc = addArc(places.get(src), transitions.get(dest));
if (label != null) {
AttributeMap amap = newArc.getAttributeMap();
amap.put(AttributeMap.LABEL, "Hello world");
amap.put(AttributeMap.SHOWLABEL, true);
amap.put(AttributeMap.LABELALONGEDGE, true);
}
该代码位于从
AbstractResetInhibitorNet
派生的类中,该类的实例称为graph
。该实例随后通过代码转换为JGraphProMJGraphPanel visualizeGraph(PluginContext context,
CPNGraph graph, // instanceof AbstractResetInhibitorNet
ViewSpecificAttributeMap map) {
ProMGraphModel model = new ProMGraphModel(graph);
GraphLayoutConnection layoutConnection = new GraphLayoutConnection(graph);
layoutConnection.expandAll();
ProMJGraph jgraph = new ProMJGraph(model, map, layoutConnection);
...
}
关于java - Jgraph( Vanilla ):如何设置边缘标签,特定于ProM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18229110/