Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jgraph(香草):如何设置边缘标签,特定于ProM_Java_Jgraph - Fatal编程技术网

Java Jgraph(香草):如何设置边缘标签,特定于ProM

Java Jgraph(香草):如何设置边缘标签,特定于ProM,java,jgraph,Java,Jgraph,我目前正在为ProM编写一个插件,以防有人熟悉它。通常,有一个图形,表示为ProMJGraph,它直接派生自JGraph 此图包含: ProMGraphEdge(org.jgraph.graph.DefaultEdge的直接子级)和 ProMGraphCell(org.jgraph.graph.DefaultGraphCell的直接子级) 我必须在边缘贴上标签。 例如,我存储了一个指针,指向名为jgraph的图形的第一条边,指向e0,类型为ProMGraphEdge 我没能用谷歌搜索出,我现

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

此图包含:

  • ProMGraphEdge
    (org.jgraph.graph.DefaultEdge的直接子级)和
  • ProMGraphCell
    (org.jgraph.graph.DefaultGraphCell的直接子级)
我必须在边缘贴上标签。 例如,我存储了一个指针,指向名为
jgraph
的图形的第一条边,指向
e0
,类型为
ProMGraphEdge

我没能用谷歌搜索出,我现在应该在哪里以及调用什么来为edge
e0
设置标签“hello”


如果列表中的任何人有JGraph手册的链接,请将其张贴在此处。我没有找到jgraph的参考书,而不是JGraphX,也不是JGraphT

upd。找到它:


upd2。我找到了第3.5.2章“使用边缘”,其中应该包含我问题的答案。这可能是因为pdf中提供的源文件不适合我。如果有任何人在Process Miner(ProM)中有经验,他/她可以给我一些提示,如果ProMJGraph(PromGraph)出现了一些棘手的问题,这可能是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);
    ...
}

它碰巧是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);
    ...
}