In diesem kurzen Tutorial erfahren Sie, wie Sie ORG-Diagramme in Java erstellen. Es erklärt die Umgebungskonfiguration, den schrittweisen Algorithmus und einen Beispielcode zum Erstellen eines Organigramm-Erstellers in Java. Darüber hinaus kann dieser Beispielcode weiter improvisiert werden, um den ORG chart an Ihre Bedürfnisse anzupassen.
Schritte zum Erstellen eines ORG-Diagramms in Java
- Installieren Sie die Aspose.Diagram-API in Ihrer Umgebung, um ein ORG-Diagramm zu erstellen
- Verwenden Sie das Klassenobjekt Diagram, um die Masterformen aus der vorhandenen Schablone abzurufen
- Fügen Sie neue Formen ein und fügen Sie Verbindungen zwischen den Knoten hinzu
- Geben Sie mit der Klasse LayoutOptions verschiedene Diagrammeigenschaften an und exportieren Sie das generierte ORG-Diagramm
Diese Schritte bieten einen Überblick über die Entwicklung eines ORG-Diagrammgenerators in Java. Bereiten Sie zunächst die Systemumgebung vor und greifen Sie über eine vorhandene Schablonendatei auf die Master-Shapes zu. Fügen Sie als Nächstes die Formen und Verbindungen des ORG-Diagramms hinzu, bevor Sie das erstellte Diagramm rendern.
Code zum Erstellen von ORG Chart Maker in 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"); | |
} | |
} |
Dieser Beispielcode soll ORG-Diagramm-Builder in Java erstellen. Sie können es jedoch erweitern, indem Sie beispielsweise die Anzahl der rechteckigen Formen, die Längen- oder Breitenabmessungen, die Position, die Seitenzahl usw. in der Methode addShape ändern. Ebenso können Sie die Verbindungen zwischen verschiedenen Knoten ändern, indem Sie deren übergeordnete Shape-ID oder Verbindungspunkte entsprechend Ihren Anforderungen ändern.
In diesem kurzen Tutorial wurden die Details zum Erstellen eines ORG-Diagrammerstellers in Java behandelt. Wenn Sie außerdem ein Flussdiagramm zeichnen möchten, lesen Sie den Artikel zu So erstellen Sie ein Flussdiagramm in Java.