إنشاء مخطط انسيابي في جافا

تتناول هذه المقالة كيفية إنشاء مخطط انسيابي في Java. يتضمن خوارزمية خطوة بخطوة ومقتطف تعليمات برمجية قابل للتشغيل لتطوير صانع المخططات الانسيابية في Java. علاوة على ذلك، يمكنك تحسين العملية من خلال معالجة المخطط وعدد الأشكال والاتصالات والخصائص الأخرى لإنشاء flowchart وفقًا لمتطلباتك.

خطوات إنشاء مخطط انسيابي في جافا

  1. قم بإعداد البيئة عن طريق تثبيت Aspose.Diagram API لإنشاء مخططات انسيابية
  2. تطوير المخطط للمخطط الانسيابي
  3. قم بإنشاء كائن من فئة Diagram وقم بتحميل الأشكال الرئيسية لإدراج الأشكال
  4. قم بتعيين تخطيط المخطط الانسيابي وقم بتصدير المخطط الانسيابي الذي تم إنشاؤه باستخدام طريقة الحفظ Save.

توضح هذه الخطوات عملية تطوير مولد مخطط انسيابي في 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. يتم استخدام فئة الرسم البياني لتحميل بعض الأشكال الرئيسية، وتحديد التخطيط وتصدير المخطط الانسيابي للإخراج. ومع ذلك، يتم أيضًا استخدام بعض الفئات المخصصة لإنشاء موصلات مختلفة وأشكال مختلفة، والتي يمكنك تحسينها بشكل أكبر لتلبية متطلباتك.

قام هذا البرنامج التعليمي بتجميع المعلومات لإنشاء منشئ مخطط انسيابي في Java. علاوة على ذلك، إذا كنت بحاجة إلى تحويل الصور إلى مخططات Visio، فتوجه إلى المقالة الموجودة على كيفية تحويل الصورة إلى Visio في جافا.

 عربي