In deze korte handleiding wordt beschreven hoe u ORG-diagrammen maakt in Java. Het legt de omgevingsconfiguratie, het stapsgewijze algoritme en een voorbeeldcode uit om een Organisatiediagrammaker in Java te maken. Bovendien kan deze voorbeeldcode verder worden geïmproviseerd om de ORG chart aan uw behoeften aan te passen.
Stappen voor het maken van een organigram in Java
- Installeer de Aspose.Diagram API in uw omgeving om een organigram te maken
- Gebruik het klasseobject Diagram om de mastervormen van het bestaande stencil op te halen
- Voeg nieuwe vormen in en voeg verbindingen tussen de knooppunten toe
- Geef verschillende diagrameigenschappen op met de klasse LayoutOptions en exporteer het gegenereerde organigram
Deze stappen bieden een overzicht voor het ontwikkelen van een ORG-diagramgenerator in Java. Bereid eerst de systeemomgeving voor en open de master-shapes vanuit een bestaand stencilbestand. Voeg vervolgens de vormen en verbindingen van het ORG-diagram toe voordat u het gemaakte diagram rendert.
Code om ORG Chart Maker in Java te maken
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"); | |
} | |
} |
Deze voorbeeldcode is bedoeld om ORG-diagrambouwer in Java te maken. Terwijl je het kunt verbeteren, zoals het wijzigen van het aantal rechthoekige vormen, lengte- of breedteafmetingen, positie, paginanummer enz. in de addShape-methode. Op dezelfde manier kunt u de verbindingen tussen verschillende knooppunten wijzigen door hun bovenliggende vorm-ID of verbindingspunten te wijzigen volgens uw vereisten.
In deze korte tutorial worden de details behandeld van het maken van een ORG-diagrammaker in Java. Als u bovendien een stroomdiagram wilt tekenen, raadpleeg dan het artikel op hoe u een stroomdiagram maakt in Java.