Este tutorial rápido aborda como criar organograma em Java. Ele explica a configuração do ambiente, o algoritmo passo a passo e um código de exemplo para criar um criador de organograma em Java. Além disso, este código de amostra pode ser improvisado para personalizar o ORG chart com base nas suas necessidades.
Etapas para criar organograma em Java
- Instale a API Aspose.Diagram em seu ambiente para criar um organograma
- Use o objeto de classe Diagram para obter as formas mestre do estêncil existente
- Insira novas formas e adicione conexões entre os nós
- Especifique diferentes propriedades do gráfico com a classe LayoutOptions e exporte o organograma gerado
Estas etapas apresentam uma visão geral para desenvolver um gerador de organograma em Java. Primeiro de tudo, prepare o ambiente do sistema e acesse as formas mestres a partir de um arquivo de estêncil existente. Em seguida, adicione as formas e conexões do organograma antes de renderizar o diagrama criado.
Código para criar criador de organograma em Java
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"); | |
} | |
} |
Este código de amostra tem como objetivo criar construtor de organograma em Java. Considerando que você pode aprimorá-lo, alterando o número de formas retangulares, dimensões de comprimento ou largura, posição, número de página, etc. no método addShape. Da mesma forma, você pode alterar as conexões entre diferentes nós alterando o ID da forma pai ou os pontos de conexão de acordo com seus requisitos.
Este breve tutorial abordou os detalhes da criação de um criador de organograma em Java. Além disso, se você deseja desenhar um fluxograma consulte o artigo em como criar fluxograma em Java.