フローチャートの作成 Java

フローチャートは、プロセス、ワークフロー、および意思決定ステップを視覚化するための重要なツールです。Javaでは、フローチャートの作成を自動化できます。このガイドでは、プログラムによってフローチャートを作成するプロセスを探ります。ワークフローの効率化を目指す開発者であれ、単にアプリケーションにフローチャート機能を統合したいだけであれ、このガイドがあなたをサポートします。

フローチャートの作成をJavaで簡単かつ効率的に行うための詳細な説明、コードスニペット、および実用的な洞察を提供します。このチュートリアルの終わりまでには、視覚的に魅力的でよく構成されたフローチャートを effortlessly に生成できるようになります。

フローチャートを作成する理由は何ですか?

プログラム的にフローチャートを作成することには、多くの利点があります:

  • 自動化: Javaを使用することで、ユーザーの入力や事前に定義されたロジックに基づいて、複雑なフローチャートを動的に生成でき、時間と労力を節約できます。

  • 一貫性: プログラムによる作成は、すべてのフローチャートにわたって統一されたスタイルとレイアウトを確保し、視覚的な明確さとプロフェッショナリズムを高めます。

  • カスタマイズ: このアプローチは、形状、コネクタ、およびレイアウトをカスタマイズするための幅広いオプションを提供し、デザインに対する完全な制御を与えます。

  • 統合: 既存のアプリケーションにフローチャート作成を簡単に統合し、ワークフローの視覚化やプロセスの追跡などの機能を可能にします。

  • スケーラビリティ: 大規模なデータセットを処理し、複数のフローチャートを効率的に生成できるため、エンタープライズレベルのソリューションに最適です。

フローチャートジェネレーター - Java APIのインストール

さまざまな種類のフローチャートを設計するには、環境に Conholdate.Total for Java をインストールします。次のMaven設定をアプリケーションの pom.xml ファイルに追加してください:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.12</version>
<type>pom</type>
</dependency>

フローチャートをJavaで作成する

以下は、Java用のConholdate.Totalを使用した完全なステップバイステップガイドです:

  • ダイアグラムの初期化:フローチャートの設計を開始するためにテンプレートファイルをロードします。

  • 形状を追加: 「プロセス」や「決定」などの定義済みマスターを使用して、さまざまなステップを表す形状を追加します。

  • 形状を接続する: プロセスが正確に表されるように、動的コネクタを使用して接続を確立します。

  • レイアウトオプションを適用: 形状を自動的に配置して、クリーンでプロフェッショナルなレイアウトを実現します。

  • ダイアグラムを保存: 完成したフローチャートを VSDX のような希望の形式でエクスポートします。

次のコードスニペットは、Javaでフローチャートを生成する方法を示しています:

// 新しい図を作成する 
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が提供するさまざまな機能を評価するために、free temporary license をリクエストできます。

要約

Javaでフローチャートを作成することは、これまでにないほど簡単になりました。さまざまな堅牢なオプションと柔軟性を備え、要件に合わせたプロフェッショナルグレードの図を設計できます。このガイドでは、形状の追加からレイアウトの適用、最終出力のエクスポートまで、プログラム的にフローチャートを生成するための基本を説明しました。この迅速なアプローチを活用することで、ワークフローの視覚化プロセスを自動化し、向上させることができます。

図解作業を簡素化する次のステップを踏み出し、このソリューションをプロジェクトに統合してください。小規模なアプリケーションの設計でも、大規模なエンタープライズの設計でも、このアプローチは精度、効率、およびカスタマイズを保証します。さらに、質問がある場合は、いつでも forum にご連絡いただけます。

See Also