2015-09-16 11 views
1

Я использую JGraphT для создания графика, и я хочу иметь возможность визуализировать и манипулировать им. Есть несколько примеров, которые показывают, как визуализировать график, но кажется, что он включает в себя довольно много ручного кода для компоновки вершин и т. Д. Мне было интересно, существует ли какой-либо алгоритм построения графа, который мог бы автоматизировать этот процесс уже в JGraph с небольшим примером. В основном графики, которые я рисую, - это ациклические графики. Я уже рисовал графики, экспортируя их в формат .dot и отображая его с помощью dot, но мне нужно немного взаимодействовать.Алгоритмы компоновки графа для JGraphT

ответ

2

С JGraph, кажется, теперь будет mxGraph, но JGraphT встраивать JGraph 5,13, ​​это не так просто, но я нашел this doc и следующий фрагмент кода работает:

// 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); 

 Смежные вопросы

  • Нет связанных вопросов^_^