Визуализация графиков проектов помогает командам оставаться согласованными и соблюдать сроки. Conholdate.Total for Java предоставляет мощный SDK, который упрощает создание диаграммы Ганта в Java всего в несколько строк кода. В этом руководстве вы увидите, как настроить библиотеку, определить задачи, настроить внешний вид и экспортировать диаграмму в PDF.

Настройка Conholdate.Total для Java

Прежде чем начать писать код, убедитесь, что у вас установлен Java 17 или более новая версия и IDE, совместимая с Maven. Добавьте репозиторий Conholdate Maven и зависимость SDK в ваш pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>
<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Вы также можете скачать последние JAR‑файлы напрямую со страницы загрузки. Как только SDK окажется в вашем classpath, вы будете готовы начать построение диаграммы.

Пошаговое создание: построение диаграммы Ганта на Java

Шаг 1: Настройка параметров диаграммы

Сначала создайте экземпляр GanttChartOptions и задайте необходимые визуальные свойства. Этот объект управляет заголовком, масштабом временной шкалы, цветами полос и другими параметрами.

GanttChartOptions options = new GanttChartOptions();
options.setTitle("Project Development Schedule");
options.setScale(GanttScale.DAYS);
options.setBarColor(GanttBarColor.BLUE);
options.setBarPattern(GanttBarPattern.SOLID);
options.setBarStyle(GanttBarStyle.RECTANGLE);
options.setEnableCaching(true);

Для получения подробных описаний свойств см. GanttChartOptions API.

Шаг 2: Создать экземпляр GanttChart

Передайте настроенные параметры конструктору GanttChart.

GanttChart chart = new GanttChart(options);

Объект диаграммы теперь содержит движок компоновки, готовый принимать задачи.

Шаг 3: Добавьте задачи для построения временной шкалы

Используйте chart.addTask для вставки каждой фазы проекта. Добавление задач является основной частью создания диаграммы Ганта в Java, поскольку каждая задача определяет дату начала и окончания.

chart.addTask("Requirement Analysis", toDate(2023, 10, 1), toDate(2023, 10, 5));
chart.addTask("Design", toDate(2023, 10, 6), toDate(2023, 10, 12));
chart.addTask("Implementation", toDate(2023, 10, 13), toDate(2023, 11, 5));
chart.addTask("Testing", toDate(2023, 11, 6), toDate(2023, 11, 20));
chart.addTask("Deployment", toDate(2023, 11, 21), toDate(2023, 11, 22));

Вспомогательный метод toDate преобразует тройку год/месяц/день в объект java.util.Date.

Шаг 4: Экспортировать диаграмму

Наконец, сохраните диаграмму в файл. SDK поддерживает PDF, PNG, JPEG и другие форматы.

chart.save("output/gantt_chart.pdf", SaveFormat.PDF);

Вы можете изменить SaveFormat.PDF на SaveFormat.PNG или SaveFormat.JPEG, если вам нужен другой формат вывода.

Шаг 5: Очистка ресурсов

Освободите нативные ресурсы, когда закончите.

chart.dispose();

Полный пример кода: диаграмма Ганта на Java

В следующем примере демонстрируется, как создать диаграмму Ганта на Java от начала до конца.

import com.groupdocs.chart.GanttChart;
import com.groupdocs.chart.options.GanttChartOptions;
import com.groupdocs.chart.enums.GanttScale;
import com.groupdocs.chart.enums.GanttBarColor;
import com.groupdocs.chart.enums.GanttBarPattern;
import com.groupdocs.chart.enums.GanttBarStyle;
import com.groupdocs.chart.enums.SaveFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class GanttChartDemo {
    public static void main(String[] args) {
        // Configure chart appearance and timeline scale
        GanttChartOptions options = new GanttChartOptions();
        options.setTitle("Project Development Schedule");
        options.setScale(GanttScale.DAYS);               // timeline scale
        options.setBarColor(GanttBarColor.BLUE);         // default bar color
        options.setBarPattern(GanttBarPattern.SOLID);    // bar fill pattern
        options.setBarStyle(GanttBarStyle.RECTANGLE);    // bar shape
        options.setEnableCaching(true);                  // performance for large charts

// Create the Gantt chart with the defined options
        GanttChart chart = new GanttChart(options);

// Populate chart with tasks (dynamic data source can be used similarly)
        chart.addTask("Requirement Analysis", toDate(2023, 10, 1), toDate(2023, 10, 5));
        chart.addTask("Design", toDate(2023, 10, 6), toDate(2023, 10, 12));
        chart.addTask("Implementation", toDate(2023, 10, 13), toDate(2023, 11, 5));
        chart.addTask("Testing", toDate(2023, 11, 6), toDate(2023, 11, 20));
        chart.addTask("Deployment", toDate(2023, 11, 21), toDate(2023, 11, 22));

// Export the Gantt chart to PDF (other formats like PNG, JPEG are also supported)
        chart.save("output/gantt_chart.pdf", SaveFormat.PDF);

// Release resources
        chart.dispose();
    }

// Helper method to convert year/month/day to java.util.Date
    private static Date toDate(int year, int month, int day) {
        return Date.from(
                LocalDate.of(year, month, day)
                        .atStartOfDay(ZoneId.systemDefault())
                        .toInstant()
        );
    }
}

Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.

Заключение

Создание диаграммы Ганта в Java становится простым с Conholdate.Total for Java. Настраивая GanttChartOptions, добавляя задачи и экспортируя результат, вы можете за считанные секунды генерировать профессионально выглядящие временные шкалы. Функция кэширования SDK и гибкие параметры SaveFormat помогают эффективно работать с крупными проектами. Помните, что для развертывания в продакшн требуется коммерческая лицензия; временную лицензию можно получить на странице временной лицензии или ознакомиться с деталями цен на странице ценообразования. Начните интегрировать диаграммы Ганта в свои приложения уже сегодня и держите заинтересованных сторон в курсе с помощью наглядных визуальных расписаний.

FAQs

Как создать диаграмму Ганта в Java с использованием Conholdate.Total?
Use the GanttChart and GanttChartOptions classes, add your tasks with addTask, and call save to export. The full code Snippet is provided in this article.

Могу ли я экспортировать диаграмму Ганта в форматы, отличные от PDF?
Да. Метод chart.save принимает SaveFormat.PNG, SaveFormat.JPEG и другие значения, определённые в перечислении SaveFormat. См. официальную документацию для полного списка.

Какой тип лицензии требуется для использования в продакшене?
Коммерческая лицензия обязательна. Вы можете запросить временную лицензию на странице временной лицензии и ознакомиться с ценами на странице с ценами.

Как я могу улучшить производительность больших диаграмм Ганта?
Включите кэширование с помощью options.setEnableCaching(true) и держите количество задач в разумных пределах. SDK оптимизирован для больших наборов данных, и кэширование значительно сокращает время рендеринга.

Читать дальше