JavaでORGチャートを作成する

この簡単なチュートリアルでは、Java で ORG チャートを作成する方法について説明します。 Java で組織図メーカーを作成するための環境構成、ステップワイズ アルゴリズム、およびサンプル コードについて説明します。さらに、このサンプル コードをさらに即興でカスタマイズして、ニーズに応じて ORG chart をカスタマイズできます。

Java で ORG チャートを作成する手順

  1. Aspose.Diagram API を環境にインストールして ORG チャートを作成します
  2. Diagram クラス オブジェクトを使用して、既存のステンシルからマスター シェイプを取得します
  3. 新しい形状を挿入し、ノード間の接続を追加します
  4. LayoutOptions クラスでさまざまなグラフ プロパティを指定し、生成された ORG グラフをエクスポートします

これらの手順は、Java* で *ORG チャート ジェネレーターを開発するための概要を示しています。まず、システム環境を準備し、既存のステンシルファイルからマスターシェイプにアクセスします。次に、作成した図をレンダリングする前に、ORG チャートの形状と接続を追加します。

Java で ORG チャート メーカーを作成するコード

import com.aspose.diagram.*;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.List;
public class Main
{
public static void main(String[] args) throws Exception // Create OR chart in Java
{
// Set the licenses
new License().setLicense("License.lic");
// Load masters from any existing diagram
String visioStencil = "BasicShapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Define values to construct the hierarchy
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Define a Hashtable to map the name to id
Hashtable shapeIdMap = new Hashtable();
// Create a new diagram
com.aspose.diagram.Diagram diagram = new com.aspose.diagram.Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
// Add a new rectangle shape
long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
// Set the new shape's properties
com.aspose.diagram.Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
shape.getText().getValue().add(new com.aspose.diagram.Txt(orgnode));
shape.setName(orgnode);
shapeIdMap.put(orgnode, rectangleId);
}
// Create connections between nodes
for (String orgName : listPos)
{
int lastColon = orgName.lastIndexOf(':');
if(lastColon > 0)
{
String parendName = orgName.substring(0, lastColon);
long shapeId = (long)shapeIdMap.get(orgName);
long parentId = (long)shapeIdMap.get(parendName);
com.aspose.diagram.Shape connector1 = new com.aspose.diagram.Shape();
long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId,
com.aspose.diagram.ConnectionPointPlace.RIGHT,
shapeId, com.aspose.diagram.ConnectionPointPlace.LEFT, connecter1Id);
}
}
// Auto layout CompactTree chart
com.aspose.diagram.LayoutOptions compactTreeOptions = new com.aspose.diagram.LayoutOptions();
compactTreeOptions.setLayoutStyle(com.aspose.diagram.LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(com.aspose.diagram.LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);
diagram.getPages().get(pageNumber).layout(compactTreeOptions);
// Save diagram
diagram.save("ORGchart_java.vsdx", com.aspose.diagram.SaveFileFormat.VSDX);
System.out.println("Done");
}
}

このサンプル コードは、ORG チャート ビルダーを Java で作成することを目的としています。一方、addShape メソッドで長方形の数、長さまたは幅の寸法、位置、ページ番号などを変更するなど、拡張することができます。同様に、要件に応じて親シェイプ ID または接続ポイントを変更することで、異なるノード間の接続を変更できます。

この短いチュートリアルでは、Java* での *ORG チャート メーカーの作成の詳細を説明しました。また、フローチャートを描きたい場合は、Javaでフローチャートを作成する方法 の記事を参照してください。

 日本語