Створення блок-схеми в Java

У цій статті обговорюється, як створити блок-схему в Java. Він містить покроковий алгоритм і виконуваний фрагмент коду для розробки конструктора блок-схем на Java. Крім того, ви можете покращити процес, маніпулюючи схемою, кількістю фігур, з’єднаннями та іншими властивостями, щоб створити flowchart відповідно до ваших вимог.

Кроки для створення блок-схеми в Java

  1. Підготуйте середовище, встановивши Aspose.Diagram API для створення блок-схем
  2. Розробіть схему блок-схеми
  3. Створіть об’єкт класу Diagram і завантажте основні фігури для вставлення фігур
  4. Налаштуйте макет блок-схеми та експортуйте згенеровану блок-схему за допомогою методу збереження Save

Ці кроки демонструють процес розробки генератора блок-схем на Java. По-перше, створіть схему для встановлення різних ролей, позначень та інших властивостей. Згодом скористайтеся шаблонними фігурами для додавання різних фігур, наприклад прямокутників, з’єднувачів тощо, перш ніж налаштовувати макет і зберігати вихідну блок-схему.

Код для створення генератора блок-схем у Java

import com.aspose.diagram.*;
public class Main
{
public static void main(String[] args) throws Exception // Create flowchart in Java
{
// Set the licenses
new License().setLicense("License.lic");
// Create a new diagram
int pageNumber = 0;
String MasterRectangle = "Process", decisionMaster = "Decision", connectorMaster = "Dynamic connector";
com.aspose.diagram.Diagram diagram = new com.aspose.diagram.Diagram("XANFLOWCHARTNEW.vss");
double widthparam = 1, heightparam = 1, pinX = 4, pinY = 10;
long process1 = diagram.addShape(pinX, pinY, widthparam, heightparam, MasterRectangle, 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, widthparam, heightparam, 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, widthparam, heightparam, MasterRectangle, 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, widthparam, heightparam, MasterRectangle, 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, widthparam, heightparam, MasterRectangle, 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);
// Set automatic layout options
com.aspose.diagram.LayoutOptions layoutOptions = new com.aspose.diagram.LayoutOptions();
layoutOptions.setLayoutStyle(com.aspose.diagram.LayoutStyle.FLOW_CHART);
layoutOptions.setDirection(com.aspose.diagram.LayoutDirection.BOTTOM_TO_TOP); diagram.layout(layoutOptions);
com.aspose.diagram.DiagramSaveOptions options = new com.aspose.diagram.DiagramSaveOptions(com.aspose.diagram.SaveFileFormat.VSDX);
diagram.save( "flowchart.vsdx", options);
System.out.println("Done");
}
}

Цей фрагмент коду є базовою версією для малювання блок-схеми в Java. Клас Diagram використовується для завантаження деяких основних фігур, визначення макета та експорту вихідної блок-схеми. Однак деякі користувацькі класи також використовуються для створення різних з’єднувачів і різних форм, які ви можете додатково імпровізувати відповідно до своїх вимог.

У цьому посібнику зібрано інформацію для створення конструктора блок-схем на Java. Крім того, якщо вам потрібно перетворити зображення на діаграми Visio, перегляньте статтю на як конвертувати зображення у Visio на Java.

 Українська