Si la dirección del flujo es hacia abajo, el nivel 0 es
el nivel más alto del dibujo. En este diseño puede especificar
mediante restricciones de nivel relativo que un nodo se coloque por
encima o por debajo de otro nodo. Si la dirección del flujo es hacia
la derecha, el nivel 0 es el nivel de más a la izquierda del dibujo.
Aquí puede especificar mediante restricciones de nivel relativo que
un nodo esté a la izquierda o a la derecha de otro nodo.
Llame a:
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativeLevelConstraint(nodeA, nodeB, priority));
Esto obliga a colocar
nodeA
en un nivel con un
índice menor que nodeB
.
Dado que las restricciones de nivel relativo compiten entre sí, debe
especificar la prioridad de la restricción. De hecho, los enlaces
también imponen restricciones en el sistema, y la prioridad del
enlace tiene el mismo impacto que la prioridad de restricción. Un
enlace con prioridad 10 obliga a colocar a su (normalmente) nodo de
origen (a menos que se especifiquen puertos) en un nivel inferior que
su nodo de destino. Para forzar a colocar el nodo de origen en un
nivel superior que el nodo de destino, deberá crear una restricción
con una prioridad mayor que el enlace. Por ejemplo, para asegurarse
de que las restricciones se satisfacen incluso si hay muchos enlaces,
puede utilizar prioridades de enlaces de entre 0 y 10 y prioridades
de restricciones de entre 1.000 y 10.000. También puede crear una restricción de nivel relativo
entre grupos de nodos.
Llame a:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativeLevelConstraint(nodeGroup1, nodeGroup2, priority));