Crea diagramma di flusso Java

I diagrammi di flusso possono essere utili per comprendere gli algoritmi passo dopo passo per progettare la rappresentazione grafica di flussi di lavoro e processi. In alcuni scenari, potrebbe essere necessario creare diagrammi di flusso per la risoluzione dei problemi. Questo articolo illustra come creare un diagramma di diagramma di flusso a livello di codice in Java.

Installa l’API Java per creare un diagramma di flusso

È possibile creare diagrammi di flusso utilizzando l’API Aspose.Diagram for Java. Supporta la creazione o la modifica di file Visio in VSD, VSDX e altri formati supportati. Puoi installare facilmente l’API scaricando il file JAR dalla sezione Nuove versioni o utilizzando le seguenti specifiche Maven:

Archivio:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Dipendenza:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.1</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Crea diagramma di flusso in modo programmatico in Java

È possibile creare un diagramma di flusso per spiegare i passaggi di una sequenza. È necessario seguire i passaggi seguenti per creare diagrammi di flusso:

  1. Innanzitutto, crea lo schema per la creazione del diagramma.
  2. In secondo luogo, carica un file VSS come master per aggiungere forme. utilizzando la classe Diagramma.
  3. Aggiunta di forme e connettori dallo schema.
  4. Impostare il layout per il diagramma di flusso.
  5. Infine, scrivi il file di output con il diagramma di flusso in formato VSDX usando il metodo Salva.

L’esempio di codice seguente elabora come creare un diagramma di diagramma di flusso a livello di codice in Java:

// Crea un nuovo diagramma 
int pageNumber = 0;
String rectangleMaster = "Process", decisionMaster = "Decision", connectorMaster = "Dynamic connector"; 

Diagram diagram = new Diagram("XANFLOWCHARTNEW.vss"); 

double width = 1, height = 1, pinX = 4, pinY = 10; 
long process1 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0); 
Shape processShape1 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process1); 

processShape1.getText().getValue().add(new Txt("PROCESS")); 
processShape1.setName("PROCESS"); 
processShape1.getXForm().getLocPinX().getUfe().setF("Width*0.5"); 
processShape1.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 

long decision1 = diagram.addShape(pinX, pinY, width, height, decisionMaster, 0);
Shape decisionShape1 = diagram.getPages().getPage(pageNumber).getShapes().getShape(decision1);

decisionShape1.getText().getValue().add(new Txt("DECISION")); 
decisionShape1.setName("DECISION"); 
decisionShape1.getXForm().getLocPinX().getUfe().setF("Width*0.5"); 
decisionShape1.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process2 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0); 
Shape processShape2 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process2);

processShape2.getText().getValue().add(new Txt("PROCESS")); 
processShape2.setName("PROCESS");
processShape2.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape2.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process3 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0);
Shape processShape3 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process3);

processShape3.getText().getValue().add(new Txt("PROCESS")); 
processShape3.setName("PROCESS");
processShape3.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape3.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process4 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0);
Shape processShape4 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process4);

processShape4.getText().getValue().add(new Txt("PROCESS")); 
processShape4.setName("PROCESS");
processShape4.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape4.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

long connecterId = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process1, ConnectionPointPlace.BOTTOM, 
        decision1, ConnectionPointPlace.TOP, connecterId); 

long connecterId1 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(decision1, ConnectionPointPlace.BOTTOM,
        process2, ConnectionPointPlace.TOP, connecterId1); 

long connecterId2 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process2, ConnectionPointPlace.BOTTOM,
        process3, ConnectionPointPlace.TOP, connecterId2); 

long connecterId3 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process3, ConnectionPointPlace.BOTTOM,
        process4, ConnectionPointPlace.TOP, connecterId3); 

long connecterId4 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(decision1, ConnectionPointPlace.RIGHT,
        process4, ConnectionPointPlace.TOP, connecterId4);

// Imposta le opzioni di layout automatico
LayoutOptions layoutOptions = new LayoutOptions();

// Metodo 
layoutOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
layoutOptions.setDirection(LayoutDirection.BOTTOM_TO_TOP);
diagram.layout(layoutOptions);

DiagramSaveOptions options = new DiagramSaveOptions(SaveFileFormat.VSDX);
diagram.save("sample.vsdx", options);

Anteprima del diagramma di flusso dell’output di esempio

Creatore di diagrammi di flusso Java

Inoltre, potresti voler scaricare i file di input e output per verificare questa funzione.

Ottieni la licenza API gratuita

Puoi valutare tutte le funzionalità dell’API senza alcuna limitazione richiedendo una licenza temporanea gratuita.

Conclusione

In conclusione, hai imparato come creare o creare diagrammi di flusso a livello di codice utilizzando Java. È possibile personalizzare e modificare la direzione o le forme del diagramma di flusso secondo le proprie esigenze. Quindi puoi facilmente incorporare questa funzione usando le chiamate API dall’interno della tua applicazione Java. Inoltre, puoi visitare la documentazione dell’API per verificare diverse altre funzionalità dell’API. Puoi porre qualsiasi tua domanda contattando il forum.

Guarda anche