Actualización dinámica JUNG Tree Layout
graph-layout (1)
Debe crear una nueva instancia de TreeLayout con el gráfico actualizado y actualizar la visualización con la nueva instancia de TreeLayout. Obtendrá los nuevos nodos en lugares aleatorios porque la instancia de TreeLayout que tiene no ha calculado las posiciones para ellos.
Esto podría hacerse más eficiente para algunos tipos de actualizaciones de gráficos (solo adiciones). Pero no es alto en nuestra lista en este momento.
Estoy usando TreeLayout en JUNG para mi gráfico. El usuario puede realizar cambios en el gráfico y luego debe actualizar y mostrar los cambios.
Para habilitar una actualización, creo el gráfico de nuevo y configuro usando el mismo:
graph = new DelegateForest<String, Integer>(
new DirectedOrderedSparseMultigraph<String, Integer>());
createGraph() //adds the vertices and edges to the graph
layout.setGraph(graph);
vv.repaint();
Esto actualiza el árbol a lo que debería ser, pero el diseño del árbol se pierde.
La mayoría de los nodos aparecen en el lugar correcto, pero los nodos hoja aparecen en lugares aleatorios. ¿Es posible recuperar la estructura del árbol que obtienes la primera vez que creas el gráfico?