0
jGraphxを使用して、私はプログラムのアーキテクチャを反映した簡単な図を作成できました。このグラフは読み込み専用になります。つまり、ユーザーは頂点の位置を変更できますが、他に何もありません(BTW、編集可能なセルと接続可能なエッジをfalseに設定しましたが、接続(?) )。jGraphxでマウスイベントに答えるにはどうすればいいですか?
質問は、ユーザーが頂点をクリックしたときにコンテキストメニューを表示できるようにすることです。どうやってやるの?次のように多かれ少なかれとしての私コード:
mxGraph graph = new mxGraph();
graph.getModel().beginUpdate();
...
Object box = graph.insertVertex(parent, null, obj.getName(), pos, level, 60, 30);
inheritanceConnections.add(obj);
boxes.put(obj.getPath(), box);
...
// Draw inheritance vertexes
for(ObjectBag obj: inheritanceConnections) {
graph.insertEdge(parent, null, "", boxes.get(obj.getPath()), boxes.get(obj.getParentObject().getPath()));
}
graph.getModel().endUpdate()
基本的に、最初のすべてのオブジェクトが描画され、後でそれらの間の接続(別のオブジェクトのオブジェクトの親である)が設定されています。
私のような何かをできるようにしたいと思います:
Object box = graph.insertVertex(parent, null, obj.getName(), pos, level, 60, 30);
box.addMouseListener(new MouseListener....
はありがとうございます。