我正在使用 JGraphT 创建一个图形,我希望能够可视化和操作它。有一些例子展示了如何可视化图形,但似乎它涉及到相当多的手动代码来布局顶点等。我想知道是否有任何图形布局算法可以在 JGraph 中自动执行这个过程一个小例子。我画的大多是有向无环图。我已经通过将它们导出为 .dot 格式并使用dot显示它来绘制图表,但我现在需要一些交互。
问问题
1258 次
1 回答
2
由于 JGraph 现在似乎是 mxGraph,但 JGraphT 嵌入了 JGraph 5.13,这并不容易,但我找到了这个文档 并且以下代码正在运行:
// this a a JGraphT graph
ListenableDirectedGraph<TableColumn, DefaultEdge> dependencyGraph = getDependencyGraph();
JGraphModelAdapter adapter = new JGraphModelAdapter(dependencyGraph);
JGraph jgraph = new JGraph(adapter);
JGraphLayout layout = new JGraphHierarchicalLayout(); // or whatever layouting algorithm
JGraphFacade facade = new JGraphFacade(jgraph);
layout.run(facade);
Map nested = facade.createNestedMap(false, false);
jgraph.getGraphLayoutCache().edit(nested);
JScrollPane sp = new JScrollPane(jgraph);
this.add(sp);
于 2015-09-16T10:34:06.240 回答