我目前正在为ProM编写插件,以防有人熟悉。通常,有一个图表示为ProMJGraph,直接从JGraph派生。

该图包含:


ProMGraphEdgeorg.jgraph.graph.DefaultEdge的直接子代)和
ProMGraphCellorg.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。该实例随后通过代码转换为JGraph

ProMJGraphPanel 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/

10-10 04:36