Visualizar cronogramas de projetos ajuda as equipes a permanecer alinhadas e cumprir prazos. Conholdate.Total for Java fornece um SDK robusto que facilita a criação de um Gráfico de Gantt em Java com apenas algumas linhas de código. Neste guia, você verá como configurar a biblioteca, definir tarefas, personalizar a aparência e exportar o gráfico para PDF.

Configurando Conholdate.Total for Java

Antes de começar a programar, certifique‑se de que você tem o Java 17 ou superior e um IDE compatível com Maven. Adicione o repositório Maven da Conholdate e a dependência do SDK ao seu 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>

Você também pode baixar os JARs mais recentes diretamente da página de download. Depois que o SDK estiver no seu classpath, você está pronto para começar a criar o gráfico.

Construindo passo a passo: Criar gráfico de Gantt em Java

Etapa 1: Configurar Opções do Gráfico

Primeiro, crie uma instância de GanttChartOptions e defina as propriedades visuais necessárias. Este objeto controla o título, a escala da linha do tempo, as cores das barras e muito mais.

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);

Para descrições detalhadas das propriedades, consulte a GanttChartOptions API.

Etapa 2: Crie a Instância GanttChart

Passe as opções configuradas para o construtor GanttChart.

GanttChart chart = new GanttChart(options);

O objeto de gráfico agora contém o mecanismo de layout pronto para receber tarefas.

Passo 3: Adicionar Tarefas para Construir a Linha do Tempo

Use chart.addTask para inserir cada fase do projeto. Adicionar tarefas é o núcleo de como você cria um Diagrama de Gantt em Java, porque cada tarefa define uma data de início e fim.

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));

O método auxiliar toDate converte uma tripla de ano/mês/dia em um objeto java.util.Date.

Passo 4: Exportar o Gráfico

Finalmente, salve o gráfico em um arquivo. O SDK suporta PDF, PNG, JPEG e outros formatos.

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

Você pode mudar SaveFormat.PDF para SaveFormat.PNG ou SaveFormat.JPEG se precisar de uma saída diferente.

Etapa 5: Limpar recursos

Libere os recursos nativos quando terminar.

chart.dispose();

Exemplo de Código Completo: Exemplo de Gráfico de Gantt em Java

O exemplo a seguir demonstra como criar um Gráfico de Gantt em Java do início ao fim.

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()
        );
    }
}

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar quaisquer caminhos de arquivo e valores de configuração para corresponder ao seu ambiente real, verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Conclusão

Criar um diagrama de Gantt em Java torna‑se simples com Conholdate.Total for Java. Configurando GanttChartOptions, adicionando tarefas e exportando o resultado, você pode gerar cronogramas com aparência profissional em segundos. O recurso de cache do SDK e as opções flexíveis de SaveFormat ajudam a lidar com projetos grandes de forma eficiente. Lembre‑se de que uma licença comercial é necessária para implantações em produção; você pode obter uma licença temporária na página de licença temporária ou explorar detalhes de preços na página de preços. Comece a integrar diagramas de Gantt em suas aplicações hoje e mantenha suas partes interessadas informadas com cronogramas visuais claros.

Perguntas Frequentes

Como criar um Diagrama de Gantt em Java usando Conholdate.Total?
Use as classes GanttChart e GanttChartOptions, adicione suas tarefas com addTask e chame save para exportar. O trecho de código completo é fornecido neste artigo.

Posso exportar o gráfico de Gantt para formatos diferentes de PDF?
Sim. O método chart.save aceita SaveFormat.PNG, SaveFormat.JPEG e outros valores definidos no enum SaveFormat. Consulte a documentação oficial para a lista completa.

Qual licença é necessária para uso em produção?
Uma licença comercial é obrigatória. Você pode solicitar uma licença temporária na página de licença temporária e revisar os preços na página de preços.

Como posso melhorar o desempenho de grandes diagramas de Gantt?
Enable caching with options.setEnableCaching(true) and keep the number of tasks reasonable. The SDK is optimized for large data sets, and caching reduces rendering time significantly.

Leia Mais