فلوچارت ها می توانند برای درک الگوریتم های گام به گام برای طراحی نمایش گرافیکی گردش کار و فرآیندها مفید باشند. در برخی از سناریوها، ممکن است لازم باشد فلوچارت هایی برای حل مسئله ایجاد کنید. این مقاله نحوه ایجاد یک نمودار فلوچارت را به صورت برنامهنویسی در جاوا پوشش میدهد.
- برای ایجاد نمودار فلوچارت جاوا API را نصب کنید
- نمودار فلوچارت را به صورت برنامه نویسی با استفاده از جاوا ایجاد کنید
برای ایجاد نمودار فلوچارت جاوا API را نصب کنید
شما می توانید نمودارهای فلوچارت را با استفاده از Aspose.Diagram for Java API ایجاد کنید. این برنامه از ایجاد یا ویرایش فایلهای Visio در VSD، VSDX و سایر [فرمتهای پشتیبانیشده2 پشتیبانی میکند. با دانلود فایل JAR از بخش انتشارهای جدید یا با استفاده از مشخصات Maven زیر میتوانید API را به راحتی نصب کنید:
مخزن:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
وابستگی:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-diagram</artifactId>
<version>22.1</version>
<classifier>jdk16</classifier>
</dependency>
</dependencies>
فلوچارت را به صورت برنامه نویسی در جاوا بسازید
شما می توانید یک فلوچارت برای توضیح مراحل یک دنباله ایجاد کنید. برای ساخت فلوچارت باید مراحل زیر را دنبال کنید:
- ابتدا طرحی برای ایجاد نمودار ایجاد کنید.
- در مرحله دوم، یک فایل VSS را به عنوان اصلی برای اضافه کردن اشکال بارگذاری کنید. با استفاده از کلاس Diagram.
- اضافه کردن اشکال و اتصال دهنده ها از طرحواره.
- چیدمان را برای نمودار فلوچارت تنظیم کنید.
- در نهایت با استفاده از روش Save فایل خروجی را با فلوچارت با فرمت VSDX بنویسید.
نمونه کد زیر نحوه ایجاد نمودار فلوچارت را به صورت برنامهنویسی در جاوا توضیح میدهد:
// یک نمودار جدید ایجاد کنید
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);
// گزینه های طرح بندی خودکار را تنظیم کنید
LayoutOptions layoutOptions = new LayoutOptions();
// روش
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);
نمونه پیش نمایش فلوچارت خروجی
علاوه بر این، ممکن است بخواهید برای بررسی این ویژگی، فایل های ورودی و خروجی را دانلود کنید.
مجوز API رایگان دریافت کنید
با درخواست [مجوز موقت رایگان] میتوانید تمام ویژگیهای API را بدون هیچ محدودیتی ارزیابی کنید.
نتیجه
در پایان، شما یاد گرفته اید که چگونه با استفاده از جاوا، فلوچارت ها را به صورت برنامه ریزی شده ایجاد یا بسازید. شما می توانید جهت یا شکل فلوچارت را مطابق با نیاز خود سفارشی و تغییر دهید. بنابراین می توانید به راحتی این ویژگی را با استفاده از تماس های API از داخل برنامه جاوا خود جاسازی کنید. علاوه بر این، میتوانید از API مستندات دیدن کنید تا چندین ویژگی دیگر API را بررسی کنید. شما می توانید هر یک از سوالات خود را با تماس با [تالار گفتمان] بپرسید.