1

私は現在、誰かがそれに精通している場合に備えて、ProM のプラグインを作成しています。ProMJGraph一般に、から直接派生したとして表されるグラフがありJGraphます。

このグラフには以下が含まれます。

  • ProMGraphEdgeの ( の直接の子org.jgraph.graph.DefaultEdge) および
  • ProMGraphCellの ( の直接の子org.jgraph.graph.DefaultGraphCell)。

端にラベルを貼らなければなりません。たとえば、タイプjgraphの変数という名前のグラフの最初のエッジへのポインターを格納しました。e0ProMGraphEdge

グーグルアウトに失敗しました。エッジに «hello» というラベルを設定するには、どこで何を呼び出す必要がありますe0か?


リストの誰かが JGraph マニュアルへのリンクを持っている場合は、ここに投稿してください。JGraphXでもJGraphTでもなく、jgraphのリファレンスブックを見つけることができませんでした。

更新。それを見つけた: http://touchflow.googlecode.com/hg-history/75fada644b2a19c744130923cbd34747fba861a2/doc/jgraphmanual.pdf

upd2. 私の質問に対する答えが含まれているはずの 3.5.2 章「エッジの使用」を見つけました。PDFで提供されているソースが機能しないのは、おそらくProM固有のものです。Process Miner (ProM) に詳しい方がいらっしゃれば、何かトリッキーなことがあればヒントをいただけると思いますProMJGraph

4

1 に答える 1

1

これは 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);
    ...
}
于 2013-08-16T04:50:34.850 に答える