Skapa ORG-diagram i Java

Denna snabba handledning täcker hur man skapar ORG-diagram i Java. Den förklarar miljökonfigurationen, den stegvisa algoritmen och en exempelkod för att skapa en Organisationskartor i Java. Dessutom kan denna exempelkod improviseras ytterligare för att anpassa ORG chart baserat på dina behov.

Steg för att skapa ORG-diagram i Java

  1. Installera Aspose.Diagram API i din miljö för att skapa ett ORG-diagram
  2. Använd klassobjektet Diagram för att hämta huvudformerna från den befintliga stencilen
  3. Infoga nya former och lägg till anslutningar mellan noderna
  4. Ange olika diagramegenskaper med klassen LayoutOptions och exportera det genererade ORG-diagrammet

Dessa steg presenterar en översikt för att utveckla en ORG-diagramgenerator i Java. Först och främst, förbered systemmiljön och få tillgång till masterformerna från en befintlig stencilfil. Lägg sedan till formerna och anslutningarna för ORG-diagrammet innan du renderar det skapade diagrammet.

Kod för att skapa ORG Chart Maker i Java

import com.aspose.diagram.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.List;
public class Main
{
public static void main(String[] args) throws Exception // Create OR chart in Java
{
// Set the licenses
new License().setLicense("License.lic");
// Load masters from any existing diagram
String visioStencil = "BasicShapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Define values to construct the hierarchy
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Define a Hashtable to map the name to id
Hashtable shapeIdMap = new Hashtable();
// Create a new diagram
com.aspose.diagram.Diagram diagram = new com.aspose.diagram.Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
// Add a new rectangle shape
long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
// Set the new shape's properties
com.aspose.diagram.Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
shape.getText().getValue().add(new com.aspose.diagram.Txt(orgnode));
shape.setName(orgnode);
shapeIdMap.put(orgnode, rectangleId);
}
// Create connections between nodes
for (String orgName : listPos)
{
int lastColon = orgName.lastIndexOf(':');
if(lastColon > 0)
{
String parendName = orgName.substring(0, lastColon);
long shapeId = (long)shapeIdMap.get(orgName);
long parentId = (long)shapeIdMap.get(parendName);
com.aspose.diagram.Shape connector1 = new com.aspose.diagram.Shape();
long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId,
com.aspose.diagram.ConnectionPointPlace.RIGHT,
shapeId, com.aspose.diagram.ConnectionPointPlace.LEFT, connecter1Id);
}
}
// Auto layout CompactTree chart
com.aspose.diagram.LayoutOptions compactTreeOptions = new com.aspose.diagram.LayoutOptions();
compactTreeOptions.setLayoutStyle(com.aspose.diagram.LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(com.aspose.diagram.LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);
diagram.getPages().get(pageNumber).layout(compactTreeOptions);
// Save diagram
diagram.save("ORGchart_java.vsdx", com.aspose.diagram.SaveFileFormat.VSDX);
System.out.println("Done");
}
}

Denna exempelkod är avsedd att göra ORG-diagrambyggare i Java. Medan du kan förbättra det som att ändra antalet rektangulära former, längd- eller bredddimensioner, position, sidnummer etc. i addShape-metoden. På samma sätt kan du ändra anslutningarna mellan olika noder genom att ändra deras överordnade form-ID eller anslutningspunkter enligt dina krav.

Denna korta handledning har täckt detaljerna för att skapa en ORG-diagramtillverkare i Java. Dessutom, om du vill rita ett flödesschema, se artikeln om hur man skapar flödesschema i Java.

 Svenska