Buat Bagan Organisasi Java

Bagan organisasi digunakan untuk menjelaskan hierarki pelaporan atau hubungan dalam suatu lembaga atau perusahaan. Anda dapat membuat Bagan Organisasi tanpa perlu menginstal aplikasi atau alat berbasis antarmuka pengguna. Artikel ini membahas cara membuat berbagai jenis bagan Organisasi secara terprogram di Java.

Pembuat Bagan Organisasi – Instalasi Java API

Aspose.Diagram for Java API dapat digunakan untuk membuat berbagai jenis diagram visual termasuk bagan dan bagan alur. Anda dapat mendownload file JAR dari bagian Downloads atau menggunakan spesifikasi Maven berikut di file pom.xml aplikasi Anda:

Gudang:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Ketergantungan:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.8</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Buat Bagan Organisasi dalam Gaya CompactTree di Java

Anda dapat membuat bagan Organisasi dalam gaya CompactTree dengan langkah-langkah berikut:

  1. Muat master dari diagram, stensil, atau templat apa pun yang ada.
  2. Tentukan nilai untuk membangun hierarki.
  3. Tambahkan bentuk dan koneksi antar node.
  4. Simpan diagram keluaran.

Contoh kode di bawah ini adalah contoh cara membuat bagan organisasi dengan gaya CompactTree di Java:

// Muat master dari diagram, stensil, atau templat apa pun yang ada
String visioStencil = "Basic Shapes.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;
// Tentukan nilai untuk membangun hierarki
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" });
// Tentukan Hashtable untuk memetakan nama string ke id bentuk panjang
Hashtable shapeIdMap = new Hashtable();
// Buat diagram baru
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Tambahkan bentuk persegi panjang baru
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Atur properti bentuk baru
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Membuat koneksi antar node
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);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//bagan CompactTree tata letak otomatis
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

diagram.getPages().get(pageNumber).layout(compactTreeOptions);

// Simpan diagram
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

Buat Bagan Organisasi dalam Gaya Bagan Alir di Java

Anda dapat mendesain beberapa tipe bagan organisasi yang mungkin mengikuti templat yang berbeda. Langkah-langkah berikut menunjukkan cara membuat bagan organisasi bergaya Flowchart secara terprogram di Java:

  1. Muat master dari diagram, stensil, atau templat apa pun yang ada.
  2. Tambahkan node dan konektor organisasi.
  3. Atur tata letak dan simpan diagram keluaran.

Cuplikan kode berikut menunjukkan cara membuat bagan organisasi dengan gaya bagan alur di Java:

// Muat master dari diagram, stensil, atau templat apa pun yang ada
String visioStencil = "Basic Shapes.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;
// Tentukan nilai untuk membangun hierarki
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" });
// Tentukan Hashtable untuk memetakan nama string ke id bentuk panjang
Hashtable shapeIdMap = new Hashtable();
// Buat diagram baru
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Tambahkan bentuk persegi panjang baru
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Atur properti bentuk baru
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Membuat koneksi antar node
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);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//Diagram Alir tata letak otomatis
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

diagram.getPages().get(pageNumber).layout(flowChartOptions);

// Simpan diagram
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

Dapatkan Lisensi Sementara Gratis

Anda dapat mengevaluasi API dalam kapasitas penuhnya dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat bagan organisasi secara terprogram di Java. Ini mencakup membuat bagan gaya CompactTree atau Flowchart tergantung pada kebutuhan Anda. Selain itu, Anda dapat mengunjungi bagian dokumentasi untuk mempelajari fitur API lainnya. Jika Anda perlu mendiskusikan kasus penggunaan atau masalah Anda, Anda dapat menghubungi kami di forum.

Lihat juga

Konversi VSD atau VSDX ke VTX di Java