Die Arbeit mit absoluten Knotenpositionsindizes ist in bestimmten Situationen nicht komfortabel.
Wenn beispielsweise zwei Knoten zu derselben Ebene gehören, können Sie
erzwingen, dass ein Knoten an einer Position mit einem kleineren Index als ein anderer Knoten platziert wird, ohne die
absoluten Positionen der Knoten zu fixieren.
Sie erreichen dies durch die Verwendung einer Vorgabe für die relative Position.
Die Vorgabe für die relative Position erzwingt eine bestimmte Reihenfolge für die Knoten einer Ebene, legt aber nicht fest,
welche Knoten direkte Nachbarn sind.
Eine Vorgabe für die relative Position kann beispielsweise erzwingen, dass
Knoten
nodeA
irgendwo an einer niedrigeren Position
als der Knoten nodeB
platziert wird, aber zwischen
nodeA
und nodeB
können noch viele andere Knoten liegen. Rufen Sie Folgendes auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativePositionConstraint(nodeA,nodeB,priority));
Dies erzwingt, dass Knoten
nodeA
an einer niedrigeren Position als Knoten
nodeB
platziert wird. Wenn die Arbeitsrichtung
nach unten verläuft, befinden sich die Knoten in horizontalen Ebenen. Deshalb bewirkt die Vorgabe, dass der Knoten
nodeA
links von Knoten nodeB
platziert wird. Wenn die
Arbeitsrichtung nach rechts verläuft, befinden sich die Knoten in vertikalen Ebenen. Deshalb bewirkt die Vorgabe, dass der Knoten
nodeA
unterhalb von Knoten nodeB
platziert wird. Die Vorgabe für die relative Position hat nur einen Effekt, wenn beide Knoten zu derselben Ebene gehören.
Um dies zu erreichen können Sie beispielsweise zusätzlich eine Vorgabe für die Verwendung derselben Ebene verwenden.
Es gibt keine Möglichkeit, die relative Position von Knoten zu beeinflussen, die zu unterschiedlichen Ebenen gehören.
Ähnlich wie die Vorgabe für die relative Ebenenpositionierung kann die Vorgabe für die relative Position
auch auf Knotengruppen angewendet werden.
Auch diese Vorgaben haben Prioritäten, die angeben, welche Vorgabe dominiert, wenn ein Vorgabenkonflikt auftritt.
Je höher die Priorität, desto eher wird die Vorgabe beim Auflösen der Vorgabenkonflikte erfüllt.