2015-04-16 2 views
0

Я знаю, как изменить размер вершины, но когда я это делаю, TreeLayout помещает узлы так, что ребра исчезают, т. Е. узлы перекрываются, а края не видны. Если я поменяю макет (на KKLayout), края автоматически увеличатся, а график выглядит чистым. Я хочу знать, можно ли расположить узлы друг от друга/увеличить длину ребра в самом TreeLayout? (Любые другие предложения, поддерживающие иерархию деревьев, также велики)Как изменить длину ребра в TreeLayout JUNG?

ответ

1

Вы можете определить пространство между узлами при построении TreeLayout. Это приведет к увеличению длины края:

TreeLayout treeLayout = new TreeLayout<String, Integer>(graph, 500, 500); 

Если не ввести значение для distx или disty то по умолчанию 50. Конструктор:

/** 
* Creates an instance for the specified graph, X distance, and Y distance. 
*/ 
public TreeLayout(Forest<V,E> g, int distx, int disty) { 
    if (g == null) 
     throw new IllegalArgumentException("Graph must be non-null"); 
    if (distx < 1 || disty < 1) 
     throw new IllegalArgumentException("X and Y distances must each be positive"); 
    this.graph = g; 
    this.distX = distx; 
    this.distY = disty; 
    buildTree(); 
} 
+0

ли я расширить класс TreeLayout и более -Изменить конструктор? – noob333

+0

нет, просто используйте данный конструктор. Это уже в классе TreeLayout. –

+0

Ницца, он работает чистым. благодаря – noob333

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