Restricciones de posición relativa (DJ)

Trabajar con índices de posición absoluta del nodo es un engorro en determinadas situaciones. Por ejemplo, si dos nodos pertenecen al mismo nivel, es posible que desee obligar a colocar un nodo en una posición con un índice menor que el otro nodo sin fijar las posiciones absolutas de los nodos. Esto puede conseguirse utilizando una restricción de posición relativa.
La restricción de posición relativa obliga a colocar los nodos de un nivel en un orden concreto, pero no especifica qué nodos son directamente colindantes. Por ejemplo, una restricción de posición relativa puede obligar a colocar nodeA en una posición inferior a nodeB, pero puede haber muchos nodos entre nodeA y nodeB.
Llame a:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativePositionConstraint(nodeA,nodeB,priority));
Esto obliga a colocar nodeA en una posición inferior a nodeB. Si la dirección del flujo es hacia abajo, los nodos están en niveles horizontales; por lo tanto, la restricción significa que nodeA se coloca a la izquierda de nodeB. Si la dirección del flujo es hacia la derecha, los nodos están en niveles verticales; por lo tanto, la restricción significa que nodeA se coloca por debajo de nodeB.
La restricción de posición relativa sólo surte efecto si ambos nodos en realidad pertenecen al mismo nivel. Para ello puede utilizar también, por ejemplo, una restricción de mismo nivel. No hay ninguna manera de influir en la posición relativa de los nodos que pertenecen a diferentes niveles.
De forma parecida a la restricción de nivel relativo, la restricción de posición relativa se pueden aplicar a grupos de nodos. Estas restricciones también tienen prioridades que indican las restricciones que dominan si se produce un conflicto de restricciones. Cuanto más alta es la prioridad, más probable es que se satisfaga la restricción en el momento de resolver conflictos de restricciones.