L'espacement de l'agencement est principalement contrôlé par trois paramètres d'espacement : la distance entre un parent et ses noeuds enfants, la distance minimale entre des noeuds frères et la distance minimale entre les noeuds de différentes branches. Par exemple, si la direction de flux est vers le haut ou le bas, le décalage entre le parent et ses noeuds enfants est vertical, tandis que le décalage entre noeuds frères et le décalage entre branches sont horizontaux.
Pour l'alignement renversé, un autre paramètre d'espacement est fourni : la distance minimale entre branches, à partir d'un noeud avec alignement renversé. Ce décalage est toujours orthogonal par rapport au décalage entre branches normal. Si la direction du flux est vers le haut ou vers le bas, le décalage entre branches renversé est vertical.

Paramètres d'espacement
Pour spécifier les paramètres d'espacement :
Utilisez les méthodes :
treeLayout.setParentChildOffset(100); treeLayout.setSiblingOffset(100); treeLayout.setBranchOffset(100); treeLayout.setTipOverBranchOffset(100);
Les noeuds associés qui ont un alignement enfant associé renversé utilisent des paramètres d'espacement spéciaux : le décalage associé est la distance entre le noeud associé et la ligne du centre qui débit au noeud parent. Le décalage enfant/parent est la distance entre le noeud parent et le premier noeud associé.

Espacement des alignements enfants
Pour spécifier les paramètres d'espacement associés :
Utilisez les méthodes suivantes :
treeLayout.setParentChildAssociateOffset(offset); treeLayout.setAssociateOffset(offset);
A l'attention des experts : autres paramètres d'espacement
En règle générale, les paramètres d'espacement spécifient les décalages minimum entre les bords de noeuds. Par conséquent, l'algorithme d'agencement positionne les noeuds de telle sorte qu'ils ne se chevauchent pas. Vous pouvez également indiquer que l'agencement doit ignorer les tailles de noeud.
Utilisez la méthode setRespectNodeSizes :
treeLayout.setRespectNodeSizes(false);
Dans ce cas, les paramètres d'espacement sont interprétés comme les distances minimales entre les centres de noeud, et les côtés de noeud ne sont pas pris en compte au cours de l'agencement. Toutefois, si les paramètres de décalage spécifiés sont maintenant plus petits que la taille de noeud, les noeuds et les liens vont se chevaucher. Cela se produit souvent, surtout avec des liens de forme orthogonale.
Cette option doit être utilisée uniquement si tous les noeuds ont plus ou moins la même taille, que tous les liens sont droits, et que les valeurs de paramètres d'espacement sont supérieures au noeud le plus grand.
Si le style de lien est orthogonal, la forme des liens entre le parent et ses noeuds enfants ressemble à une bifurcation (voir Combinaison de différents alignements sur le même tracé). La position des points de flexion dans cette forme peut être influencée par le paramètre Pourcentage de bifurcation orthogonale, une valeur
0
-100
. Il s'agit d'un pourcentage du décalage parent-enfant. Si le paramètre Pourcentage de bifurcation orthogonale a pour valeur 0
, la forme du lien bifurque directement au niveau du noeud parent.
Si la valeur de ce pourcentage est 100
, la forme du lien bifurque au niveau du noeud enfant. Il est judicieux de choisir 25
-75
. Ce pourcentage peut être défini. Utilisez la méthode setOrthForkPercentage :
treeLayout.setOrthForkPercentage(35);
Si le style de lien n'est pas orthogonal, les liens peuvent chevaucher les noeuds voisins. Cela ne se produit que très rarement, par exemple, lorsqu'un lien débute au niveau d'un petit noeud qui a pour voisin un noeud de grande taille. Cette insuffisance peut être résolue en augmentant le décalage entre branches. Toutefois, cela influence l'agencement de manière globale, en affectant les noeuds qui ne sont pas concernés par cette insuffisance.
Pour éviter un changement global, modifiez plutôt le paramètre Pourcentage de chevauchement, dont la valeur est compris entre 0 et 100. Cette valeur est utilisée par une méthode heuristique interne de l'algorithme d'agencement qui considère un noeud plus petit et prend en compte ce pourcentage de réduction.
La valeur de pourcentage par défaut est
30
. Cela permet une meilleure utilisation de l'espace. Lorsque des noeuds petits ont pour voisins des noeuds grands, il est recommandé de réduire le pourcentage de chevauchement ou de lui attribuer la valeur 0
.. Ce faisant, vous désactivez cet heuristique et évitez que des liens ne chevauchent des noeuds. Pour définir le pourcentage de chevauchement :
Utilisez la méthode setOverlapPercentage :
treeLayout.setOverlapPercentage(25);
Note
Définissez toujours une valeur de pourcentage de bifurcation orthogonale supérieure à la valeur de pourcentage de chevauchement.

Effet de l'utilisation du pourcentage de chevauchement