Buat Bagan ORG Java

Sebuah ORG chart digunakan untuk menjelaskan hierarki pelaporan atau hubungan sebuah lembaga atau perusahaan. Anda dapat membuat bagan ORG tanpa perlu menginstal aplikasi atau alat berbasis antarmuka pengguna. Artikel ini membahas cara membuat berbagai jenis bagan ORG secara terprogram di Java.

ORG Chart Maker – 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 ORG dalam Gaya CompactTree di Java

Anda dapat membuat bagan ORG 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.

Kode contoh berikut menunjukkan cara membuat bagan ORG di Jawa:

// 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 ORG dalam Gaya Bagan Alir di Java

Anda mungkin perlu membuat berbagai jenis bagan ORG yang mungkin mengikuti templat berbeda. Di sini Anda akan belajar cara membuat bagan ORG dengan gaya 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 output.

Cuplikan kode di bawah ini menjelaskan cara membuat bagan ORG dengan gaya bagan alur menggunakan 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 menguji API tanpa batasan evaluasi apa pun dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat bagan ORG secara terprogram di Java. Ini menjelaskan pembuatan bagan gaya CompactTree atau Flowchart sesuai kebutuhan Anda. Selain itu, Anda dapat melihat berbagai fitur lainnya melalui ruang dokumentasi. Silakan menulis kepada kami di forum jika Anda ingin mendiskusikan kebutuhan atau masalah Anda.

Lihat juga

Konversi VSD atau VSDX ke VTX di Java