Akış Şeması Java Oluşturun

Akış çizelgeleri, iş akışlarının ve süreçlerin grafik sunumunu tasarlamak için adım adım algoritmaları anlamakta yardımcı olabilir. Bazı senaryolarda, problem çözmek için akış şemaları oluşturmanız gerekebilir. Bu makale, Java’da programlı olarak bir akış şeması diyagramının nasıl oluşturulacağını kapsar.

Akış Şeması Şeması Oluşturmak için Java API’sini Kurun

Aspose.Diagram for Java API’sini kullanarak akış şeması diyagramları oluşturabilirsiniz. VSD, VSDX ve diğer desteklenen biçimlerde Visio dosyaları oluşturmayı veya düzenlemeyi destekler. Yeni Çıkanlar bölümünden JAR dosyasını indirerek veya aşağıdaki Maven belirtimlerini kullanarak API’yi kolayca yükleyebilirsiniz:

Depo:

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

Bağımlılık:

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

Java’da Programlı Olarak Akış Şeması Yapın

Bir dizinin adımlarını açıklamak için bir akış şeması oluşturabilirsiniz. Akış şemaları oluşturmak için aşağıdaki adımları izlemeniz gerekir:

  1. İlk olarak, diyagramı oluşturmak için şema oluşturun.
  2. İkinci olarak, şekil eklemek için bir VSS dosyasını ana dosya olarak yükleyin. Diyagram sınıfını kullanarak.
  3. Şemadan şekiller ve bağlayıcılar ekleme.
  4. Akış şeması diyagramı için düzeni ayarlayın.
  5. Son olarak, Kaydet yöntemini kullanarak akış şeması içeren çıktı dosyasını VSDX formatında yazın.

Aşağıdaki kod örneği, Java’da programlı olarak bir akış şeması diyagramının nasıl oluşturulacağını detaylandırır:

// Yeni bir diyagram oluştur 
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);

// Otomatik düzen seçeneklerini ayarlayın
LayoutOptions layoutOptions = new LayoutOptions();

// Yöntem 
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);

Örnek Çıktı Akış Şeması Önizlemesi

Akış Şeması Oluşturucu Yapıcı Java

Ayrıca, bu özelliği kontrol etmek için giriş ve çıkış dosyalarını indirmek isteyebilirsiniz.

Ücretsiz API Lisansı Alın

Ücretsiz geçici lisans talep ederek API’nin tüm özelliklerini herhangi bir sınırlama olmaksızın değerlendirebilirsiniz.

Çözüm

Sonuç olarak, Java kullanarak programlı olarak akış şemaları oluşturmayı veya yapmayı öğrendiniz. Akış şemasının yönünü veya şekillerini gereksinimlerinize göre özelleştirebilir ve değiştirebilirsiniz. Böylece, Java uygulamanızın içinden API çağrılarını kullanarak bu özelliği kolayca yerleştirebilirsiniz. Ayrıca, API’nin diğer bazı özelliklerini kontrol etmek için API’yi dokümantasyon ziyaret edebilirsiniz. Forumda bize ulaşarak sorularınızı sorabilirsiniz.

Ayrıca bakınız