В этом кратком руководстве рассказывается, как создать ORG-диаграмму в Java. В нем описываются конфигурация среды, пошаговый алгоритм и пример кода для создания создателя организационных диаграмм на Java. Более того, этот пример кода можно доработать и настроить ORG chart в соответствии с вашими потребностями.
Шаги по созданию организационной диаграммы в Java
- Установите API Aspose.Diagram в своей среде, чтобы создать организационную диаграмму.
- Используйте объект класса Diagram, чтобы получить образцы фигур из существующего трафарета.
- Вставляйте новые фигуры и добавляйте связи между узлами.
- Укажите различные свойства диаграммы с помощью класса LayoutOptions и экспортируйте созданную организационную диаграмму.
Эти шаги представляют собой обзор разработки генератора диаграмм ORG на Java. Прежде всего подготовьте системную среду и получите доступ к эталонам фигур из существующего файла трафарета. Затем добавьте фигуры и соединения диаграммы ORG перед визуализацией созданной диаграммы.
Код для создания средства создания диаграмм ORG на 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"); | |
} | |
} |
Этот пример кода предназначен для создания построителя организационных диаграмм на Java. Принимая во внимание, что вы можете улучшить его, изменив количество прямоугольных фигур, размеры длины или ширины, положение, номер страницы и т. д. в методе addShape. Аналогичным образом вы можете изменить соединения между различными узлами, изменив идентификатор их родительской формы или точки соединения в соответствии с вашими требованиями.
В этом кратком руководстве описаны детали создания создателя диаграмм ORG на Java. Кроме того, если вы хотите нарисовать блок-схему, обратитесь к статье на как создать блок-схему в Java.