2010-04-08 13 views

Odpowiedz

5

Musisz zainicjować TreeLayout po dodaniu Vertexes do wykresu, próbowałem tego i zadziałało dla mnie.

Musisz zrobić coś jak następuje: (proszę zauważyć, że jest to 1 rok stary kod, który miałem, może się okazać, że jest to trochę przestarzałe)

Layout<GraphVertex, GraphEdge> layout; //create a layout 
layout = new TreeLayout<GraphVertex, GraphEdge>((Forest<GraphVertex, GraphEdge>) g); 
// initialize your layout using the graph you created, which has to be of type forest 
vv.setGraphLayout(layout); 
// set the layout of the visualization viewer you are using to be the layout you just created (the tree layout) 

GraphVertex jest klasa który reprezentuje wierzchołek na wykresie, GraphEdge reprezentuje krawędzie na wykresie.

+0

i jaki byłby typ danych zmiennej g w przykładowym kodzie? (Użyłem SparseGraph, a błąd runtime polega na tym, że SparseGraph nie może być rzutowany na edu.uci.ics.jung.graph.Forest). – bikashg

+0

@bikashg To powinno być coś, co implementuje [Forest] (http: //jung.sourceforge. net/doc/api/edu/uci/ics/jung/graph/Forest.html), podobnie jak te: DelegateForest, DelegateTree, OrderedKAryTree (z dokumentacji), W moim przypadku miałem własną implementację interfejsu Forest. –

+0

tak, to się udało. dzięki. – bikashg

Powiązane problemy