Αυτό το γρήγορο σεμινάριο καλύπτει τον τρόπο δημιουργίας γραφήματος ORG σε Java. Εξηγεί τη διαμόρφωση περιβάλλοντος, τον σταδιακό αλγόριθμο και ένα δείγμα κώδικα για τη δημιουργία ενός Δημιουργού οργανογραμμάτων σε Java. Επιπλέον, αυτό το δείγμα κώδικα μπορεί να αυτοσχεδιαστεί περαιτέρω για να προσαρμόσετε το ORG chart με βάση τις ανάγκες σας.
Βήματα για τη δημιουργία γραφήματος ORG σε Java
- Εγκαταστήστε το Aspose.Diagram API στο περιβάλλον σας για να δημιουργήσετε ένα γράφημα ORG
- Χρησιμοποιήστε το αντικείμενο κλάσης Diagram για να λάβετε τα κύρια σχήματα από το υπάρχον στένσιλ
- Εισαγάγετε νέα σχήματα και προσθέστε συνδέσεις μεταξύ των κόμβων
- Καθορίστε διαφορετικές ιδιότητες γραφήματος με την κλάση LayoutOptions και εξάγετε το γράφημα ORG που δημιουργήθηκε
Αυτά τα βήματα παρουσιάζουν μια επισκόπηση για την ανάπτυξη μιας γεννήτριας γραφημάτων ORG σε Java. Πρώτα απ ‘όλα, προετοιμάστε το περιβάλλον του συστήματος και αποκτήστε πρόσβαση στα κύρια σχήματα από ένα υπάρχον αρχείο στένσιλ. Στη συνέχεια, προσθέστε τα σχήματα και τις συνδέσεις του γραφήματος ORG πριν αποδώσετε το δημιουργημένο διάγραμμα.
Κώδικας για τη δημιουργία ORG Chart Maker σε 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"); | |
} | |
} |
Αυτό το δείγμα κώδικα προορίζεται για τη δημιουργία του ORG δημιουργού γραφημάτων σε Java. Ενώ, μπορείτε να το βελτιώσετε όπως να αλλάξετε τον αριθμό των ορθογώνιων σχημάτων, τις διαστάσεις μήκους ή πλάτους, τη θέση, τον αριθμό σελίδας κ.λπ. στη μέθοδο addShape. Ομοίως, μπορείτε να αλλάξετε τις συνδέσεις μεταξύ διαφορετικών κόμβων αλλάζοντας το αναγνωριστικό γονικού σχήματος ή τα σημεία σύνδεσης σύμφωνα με τις απαιτήσεις σας.
Αυτό το σύντομο σεμινάριο έχει καλύψει τις λεπτομέρειες της δημιουργίας ενός ORG chart maker σε Java. Επιπλέον, εάν θέλετε να σχεδιάσετε ένα διάγραμμα ροής, ανατρέξτε στο άρθρο στο πώς να δημιουργήσετε διάγραμμα ροής σε Java.