Skapa flödesschema Java

Flödesscheman kan vara till hjälp för att förstå steg-för-steg-algoritmer för att designa den grafiska representationen av arbetsflöden och processer. I vissa scenarier kan du behöva skapa flödesscheman för problemlösning. Den här artikeln tar upp hur du skapar ett flödesschema programmatiskt i Java.

Installera Java API för att skapa flödesdiagram

Du kan skapa flödesscheman genom att använda Aspose.Diagram for Java API. Det stöder att skapa eller redigera Visio-filer i VSD, VSDX och andra format som stöds. Du kan enkelt installera API:t genom att ladda ner JAR-filen från avsnittet New Releases eller använda följande Maven-specifikationer:

Förvar:

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

Beroende:

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

Gör flödesschema programmatiskt i Java

Du kan skapa ett flödesschema för att förklara stegen i en sekvens. Du måste följa stegen nedan för att göra flödesscheman:

  1. Skapa först ett schema för att skapa diagrammet.
  2. För det andra, ladda en VSS-fil som master för att lägga till former. med klassen Diagram.
  3. Lägga till former och kopplingar från schemat.
  4. Ställ in layout för flödesdiagrammet.
  5. Skriv slutligen utdatafilen med flödesschema i VSDX-format med metoden Spara.

Kodexemplet nedan utarbetar hur man gör ett flödesschema programmatiskt i Java:

// Skapa ett nytt diagram 
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);

// Ställ in automatiska layoutalternativ
LayoutOptions layoutOptions = new LayoutOptions();

// Metod 
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);

Exempel på flödesschema för utdata

Flödesschema Creator Maker Java

Dessutom kan du vilja ladda ner in- och utdatafilerna för att kontrollera den här funktionen.

Få gratis API-licens

Du kan utvärdera alla funktioner i API:t utan några begränsningar genom att begära en gratis tillfällig licens.

Slutsats

Sammanfattningsvis har du lärt dig hur du skapar eller gör flödesscheman programmatiskt med hjälp av Java. Du kan anpassa och ändra riktningen eller formerna på flödesschemat enligt dina krav. Så du kan enkelt bädda in den här funktionen med API-anrop från din Java-applikation. Dessutom kan du besöka API dokumentation för att kontrollera flera andra funktioner i API. Du kan ställa alla dina frågor genom att kontakta forumet.

Se även