Bahnen erstellen

Bahnen sind ein spezieller Typ von Untergraph, der verwendet wird, um einen Graphen in vertikale oder horizontale Streifen zu unterteilen. Bahnen werden häufig in Geschäftsprozess- oder Workflowdiagrammen (dort auch Verantwortlichkeitsbereich genannt) verwendet, um Organisationen oder Teilnehmer eines Prozesses darzustellen.
Gehen Sie wie folgt vor, um Bahnen zu erstellen:
  • Verwenden Sie die Funktion graph.createSwimLane().
    Das folgende Beispiel veranschaulicht die Erstellung von Bahnen:
    var swimlane1 = graph.createSwimLane();
          swimlane1.setLabel("Swim lane 1");
          swimlane1.move(40, 40);
          swimlane1.setExplicitSize({width:600, height:100});
          
          var node1 = swimlane1.getGraph().createNode();
          node1.setLabel("Node 1");
          node1.move(30, 30);
          
          var node2 = swimlane1.getGraph().createNode();
          node2.setLabel("Node 2");
          node2.move(160, 30);
          
          var link1 = swimlane1.getGraph().createLink();
          link1.setStartNode(node1);
          link1.setEndNode(node2);
    
           var swimlane2 = graph.createSwimLane();
          swimlane2.setLabel("Swim lane 2");
          swimlane2.move(40, 180);
          swimlane2.setExplicitSize({width:600, height:100});
          
          var node3 = swimlane2.getGraph().createNode();
          node3.setLabel("Node 3");
          node3.move(330, 30);
          
          var node4 = swimlane2.getGraph().createNode();
          node4.setLabel("Node 4");
          node4.move(460, 30);
          
          var link2 = swimlane2.getGraph().createLink();
          link2.setStartNode(node3);
          link2.setEndNode(node4);
    
          var link3 = graph.createLink();
          link3.setStartNode(node2);
          link3.setEndNode(node3);
          link3.setShapeType(ibm_ilog.diagram.LinkShapeType.Orthogonal);
Der Ergebnisgraph ist wie folgt:
Ein Graph mit zwei horizontalen
Bahnen: Bahn 1 und Bahn 2.
Bahn 1 enthält zwei rechteckige Knoten, Knoten 1 und Knoten 2, die durch einen Link miteinander verbunden sind.
Bahn 2 enthält zwei rechteckige Knoten, Knoten 3 und Knoten 4, die durch einen Link miteinander verbunden sind.
Außerdem verbindet ein Link Knoten 2 in Bahn 1 mit Knoten 3 in Bahn 2.
Bahnen gleichen Untergraphen, weisen aber die folgenden Unterschiede auf:
  • Bahnen können horizontal oder vertikal sein:
    • Der Titel einer horizontalen Bahn wird vertikal auf der linken (wie im vorherigen Beispiel) oder auf der rechten Seite angezeigt. Wenn der Titel auf der rechten Seite angezeigt werden soll, verwenden Sie die folgende Methode:
      swimlane.setRightToLeft(true); 
    • Der Titel einer vertikalen Bahn wird immer horizontal am Anfang angezeigt. Zum Erstellen einer vertikalen Bahn verwenden Sie die folgende Methode:
      swimlane.setVertical(true); 
  • Bahnen passen ihre Größe nicht automatisch an die untergeordneten Elemente an. Vielmehr muss die Größe einer Bahn explizit mit der folgenden Methode festgelegt werden:
    swimlane.setExplicitSize({width:w, height:h});
  • Da Bahnen ihren Inhalt nicht anpassen, ist es nicht möglich, Knoten interaktiv über die Grenzen der übergeordneten Bahn hinaus zu verschieben.
  • Bahnen können weitere Bahnen enthalten. In diesem Fall werden verschachtelte Bahnen automatisch in der übergeordneten Bahn gestapelt. Verschachtelte Bahnen werden vertikal gestapelt, wenn die übergeordnete Bahn horizontal ist, und horizontal, wenn die übergeordnete Bahn vertikal ist. Verwenden Sie zum Inaktivieren der automatischen Stapelung die folgende Methode:
    swimlane.setStackSublanes(false);
  • Wenn Bahnen in einem Graphen enthalten sind, der einem hierarchischen Graphenlayoutalgorithmus zugeordnet ist, konfiguriert IBM® ILOG® Dojo Diagrammer das Layout automatisch so, dass Bahnen berücksichtigt werden (siehe Hierarchisches Layout (HL)).