Organizasyon Şeması Java Oluşturun

Bir kurum veya şirketteki raporlama veya ilişki hiyerarşisini açıklamak için bir Organizasyon şeması kullanılır. Kullanıcı arabirimi tabanlı bir uygulama veya araç yüklemenize gerek kalmadan Organizasyon şeması oluşturabilirsiniz. Bu makale, Java’da programlı olarak farklı türde Organizasyon şemalarının nasıl oluşturulacağını kapsar.

Organizasyon Şeması Oluşturucu – Java API Kurulumu

Aspose.Diagram for Java API, çizelgeler ve akış çizelgeleri dahil olmak üzere birçok türde görsel diyagram oluşturmak için kullanılabilir. JAR dosyasını İndirilenler bölümünden veya uygulamanızın pom.xml dosyasındaki aşağıdaki Maven özelliklerini kullanarak indirebilirsiniz:

Depo:

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

Bağımlılık:

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

Java’da CompactTree Stilinde Organizasyon Şeması Oluşturma

Aşağıdaki adımlarla CompactTree stilinde bir Organizasyon şeması oluşturabilirsiniz:

  1. Mevcut herhangi bir diyagram, şablon veya şablondan ana şablonları yükleyin.
  2. Hiyerarşiyi oluşturmak için değerleri tanımlayın.
  3. Düğümler arasında şekiller ve bağlantılar ekleyin.
  4. Çıkış diyagramını kaydedin.

Aşağıdaki kod örneği, Java’da CompactTree stilinde bir kuruluş şemasının nasıl oluşturulacağına ilişkin bir örnektir:

// Herhangi bir mevcut diyagram, şablon veya şablondan ana kopyaları yükleyin
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;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
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" });
// Dize adını uzun şekil kimliğine eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Yeni bir dikdörtgen şekli ekleyin
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlayın
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
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);
    }
}

//otomatik düzen CompactTree grafiği
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

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

// Diyagramı kaydet
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

Java’da Akış Şeması Stilinde Organizasyon Şeması Oluşturma

Farklı şablonları takip edebilecek birkaç türde organizasyon şeması tasarlayabilirsiniz. Aşağıdaki adımlar, Java’da programlı olarak Akış Şeması stili organizasyon şemasının nasıl oluşturulacağını gösterir:

  1. Mevcut herhangi bir diyagram, şablon veya şablondan ana şablonları yükleyin.
  2. Kuruluş düğümlerini ve bağlayıcıları ekleyin.
  3. Düzeni ayarlayın ve çıktı diyagramını kaydedin.

Aşağıdaki kod parçacığı, Java’da akış şeması stilinde bir kuruluş şemasının nasıl oluşturulacağını gösterir:

// Herhangi bir mevcut diyagram, şablon veya şablondan ana kopyaları yükleyin
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;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
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" });
// Dize adını uzun şekil kimliğine eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Yeni bir dikdörtgen şekli ekleyin
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlayın
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
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);
    }
}

//otomatik düzen Akış Şeması
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

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

// Diyagramı kaydet
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

Ücretsiz Geçici Lisans Alın

Ücretsiz geçici lisans talep ederek API’yi tam kapasitesiyle değerlendirebilirsiniz.

Çözüm

Bu makalede, Java’da programlı olarak bir organizasyon şemasının nasıl oluşturulacağını öğrendiniz. Gereksinimlerinize bağlı olarak bir CompactTree veya Flowchart stil şeması oluşturmayı kapsar. Ayrıca API’nin diğer özelliklerini öğrenmek için dokümantasyon bölümünü ziyaret edebilirsiniz. Kullanım durumunuzu veya endişelerinizi tartışmanız gerekirse, forumdan bizimle iletişime geçebilirsiniz.

Ayrıca bakınız

Java’da VSD veya VSDX’i VTX’e dönüştürün