Wizualizacja harmonogramów projektów pomaga zespołom zachować spójność i dotrzymywać terminów. Conholdate.Total for Java zapewnia solidny SDK, który ułatwia tworzenie wykresu Gantta w Javie przy użyciu zaledwie kilku linii kodu. W tym przewodniku zobaczysz, jak skonfigurować bibliotekę, zdefiniować zadania, dostosować wygląd i wyeksportować wykres do formatu PDF.

Konfiguracja Conholdate.Total for Java

Zanim rozpoczniesz kodowanie, upewnij się, że masz Java 17 lub nowszą oraz IDE zgodne z Mavenem. Dodaj repozytorium Maven Conholdate i zależność SDK do swojego pliku 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>

Możesz również pobrać najnowsze pliki JAR bezpośrednio ze strony pobierania. Gdy SDK znajduje się w Twojej ścieżce klas, jesteś gotowy, aby rozpocząć tworzenie wykresu.

Tworzenie krok po kroku: wykres Gantta w Javie

Krok 1: Skonfiguruj opcje wykresu

Najpierw utwórz instancję GanttChartOptions i ustaw wymagane właściwości wizualne. Ten obiekt kontroluje tytuł, skalę osi czasu, kolory pasków i inne.

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

Aby uzyskać szczegółowe opisy właściwości, odwołaj się do GanttChartOptions API.

Krok 2: Utwórz instancję GanttChart

Przekaż skonfigurowane opcje do konstruktora GanttChart.

GanttChart chart = new GanttChart(options);

Obiekt wykresu teraz zawiera silnik układu gotowy do przyjmowania zadań.

Krok 3: Dodaj zadania, aby zbudować oś czasu

Użyj chart.addTask, aby wstawić każdą fazę projektu. Dodawanie zadań jest kluczowe przy tworzeniu wykresu Gantta w Javie, ponieważ każde zadanie definiuje datę rozpoczęcia i zakończenia.

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

Metoda pomocnicza toDate konwertuje trójkę rok/miesiąc/dzień na obiekt java.util.Date.

Krok 4: Eksportuj wykres

Na koniec zapisz wykres do pliku. SDK obsługuje PDF, PNG, JPEG oraz inne formaty.

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

Możesz zmienić SaveFormat.PDF na SaveFormat.PNG lub SaveFormat.JPEG, jeśli potrzebujesz innego formatu wyjściowego.

Krok 5: Czyszczenie zasobów

Zwolnij zasoby natywne po zakończeniu.

chart.dispose();

Pełny przykład kodu: Przykład wykresu Gantta w Javie

Poniższy przykład demonstruje, jak stworzyć wykres Gantta w Javie od początku do końca.

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

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, i dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Podsumowanie

Tworzenie wykresu Gantta w Javie staje się proste dzięki Conholdate.Total for Java. Poprzez skonfigurowanie GanttChartOptions, dodanie zadań i wyeksportowanie wyniku, możesz w ciągu kilku sekund generować profesjonalnie wyglądające harmonogramy. Funkcja buforowania SDK oraz elastyczne opcje SaveFormat pomagają efektywnie obsługiwać duże projekty. Pamiętaj, że do wdrożeń produkcyjnych wymagana jest licencja komercyjna; tymczasową licencję możesz uzyskać na stronie tymczasowej licencji lub zapoznać się ze szczegółami cenowymi na stronie cenowej. Zacznij integrować wykresy Gantta w swoich aplikacjach już dziś i informuj interesariuszy o jasnych, wizualnych harmonogramach.

Najczęściej zadawane pytania

Jak utworzyć wykres Gantta w Javie przy użyciu Conholdate.Total?
Użyj klas GanttChart i GanttChartOptions, dodaj swoje zadania za pomocą addTask i wywołaj save, aby wyeksportować. Pełny fragment kodu jest dostępny w tym artykule.

Czy mogę wyeksportować wykres Gantta do formatów innych niż PDF?
Tak. Metoda chart.save akceptuje SaveFormat.PNG, SaveFormat.JPEG oraz inne wartości zdefiniowane w wyliczeniu SaveFormat. Zobacz oficjalną dokumentację dla pełnej listy.

Jakie licencjonowanie jest wymagane do użytku produkcyjnego?
Licencja komercyjna jest obowiązkowa. Możesz poprosić o tymczasową licencję na stronie tymczasowej licencji i sprawdzić ceny na stronie z cennikiem.

Jak mogę poprawić wydajność dużych wykresów Gantta?
Włącz buforowanie za pomocą options.setEnableCaching(true) i utrzymuj liczbę zadań w rozsądnych granicach. SDK jest zoptymalizowane pod kątem dużych zestawów danych, a buforowanie znacząco skraca czas renderowania.

Czytaj więcej