Việc trực quan hoá các mốc thời gian dự án giúp các nhóm duy trì sự đồng bộ và đáp ứng thời hạn. Conholdate.Total for Java cung cấp một SDK mạnh mẽ giúp dễ dàng tạo biểu đồ Gantt trong Java chỉ với vài dòng mã. Trong hướng dẫn này, bạn sẽ thấy cách thiết lập thư viện, định nghĩa các nhiệm vụ, tùy chỉnh giao diện và xuất biểu đồ ra PDF.

Cài đặt Conholdate.Total cho Java

Trước khi bắt đầu viết mã, hãy đảm bảo bạn có Java 17 trở lên và một IDE tương thích với Maven. Thêm kho Maven của Conholdate và phụ thuộc SDK vào tệp pom.xml của bạn:

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

Bạn cũng có thể tải xuống các tệp JAR mới nhất trực tiếp từ trang tải xuống. Khi SDK đã có trong classpath của bạn, bạn đã sẵn sàng để bắt đầu xây dựng biểu đồ.

Xây Dựng Từng Bước: Tạo Biểu Đồ Gantt trong Java

Bước 1: Cấu hình các tùy chọn biểu đồ

Đầu tiên, tạo một thể hiện GanttChartOptions và đặt các thuộc tính hiển thị bạn cần. Đối tượng này kiểm soát tiêu đề, thang thời gian, màu sắc các thanh và nhiều hơn nữa.

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

Để biết mô tả chi tiết về các thuộc tính, hãy tham khảo GanttChartOptions API.

Bước 2: Tạo thể hiện GanttChart

Truyền các tùy chọn đã cấu hình vào hàm khởi tạo GanttChart.

GanttChart chart = new GanttChart(options);

Đối tượng biểu đồ hiện giữ công cụ bố trí sẵn sàng nhận các tác vụ.

Bước 3: Thêm các Nhiệm vụ để Xây dựng Dòng thời gian

Sử dụng chart.addTask để chèn mỗi giai đoạn dự án. Thêm các nhiệm vụ là cốt lõi của cách bạn tạo Gantt Chart trong Java, vì mỗi nhiệm vụ xác định ngày bắt đầu và ngày kết thúc.

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

Phương thức trợ giúp toDate chuyển đổi bộ ba năm/tháng/ngày thành một đối tượng java.util.Date.

Bước 4: Xuất biểu đồ

Cuối cùng, lưu biểu đồ vào tệp. SDK hỗ trợ PDF, PNG, JPEG và các định dạng khác.

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

Bạn có thể thay đổi SaveFormat.PDF thành SaveFormat.PNG hoặc SaveFormat.JPEG nếu bạn cần đầu ra khác.

Bước 5: Dọn dẹp tài nguyên

Giải phóng tài nguyên gốc khi bạn đã hoàn thành.

chart.dispose();

Ví dụ mã đầy đủ: Ví dụ biểu đồ Gantt Java

Ví dụ sau đây trình bày cách tạo biểu đồ Gantt trong Java từ đầu đến cuối.

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

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy đảm bảo cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Kết luận

Tạo biểu đồ Gantt trong Java trở nên đơn giản với Conholdate.Total for Java. Bằng cách cấu hình GanttChartOptions, thêm các nhiệm vụ và xuất kết quả, bạn có thể tạo ra các dòng thời gian chuyên nghiệp trong vài giây. Tính năng bộ nhớ đệm của SDK và các tùy chọn linh hoạt SaveFormat giúp bạn xử lý các dự án lớn một cách hiệu quả. Hãy nhớ rằng cần có giấy phép thương mại cho các triển khai trong môi trường sản xuất; bạn có thể lấy giấy phép tạm thời từ trang giấy phép tạm thời hoặc khám phá chi tiết giá trên trang giá. Bắt đầu tích hợp biểu đồ Gantt vào ứng dụng của bạn ngay hôm nay và giữ cho các bên liên quan được thông báo với lịch trình trực quan rõ ràng.

FAQs

Làm thế nào để tạo biểu đồ Gantt trong Java bằng Conholdate.Total?
Sử dụng các lớp GanttChartGanttChartOptions, thêm các nhiệm vụ của bạn bằng addTask, và gọi save để xuất. Đoạn mã đầy đủ được cung cấp trong bài viết này.

Có thể xuất biểu đồ Gantt sang các định dạng khác ngoài PDF không?
Có. Phương thức chart.save chấp nhận SaveFormat.PNG, SaveFormat.JPEG, và các giá trị khác được định nghĩa trong enum SaveFormat. Xem tài liệu chính thức để biết danh sách đầy đủ.

Cần giấy phép gì cho việc sử dụng trong môi trường sản xuất?
Giấy phép thương mại là bắt buộc. Bạn có thể yêu cầu giấy phép tạm thời từ trang giấy phép tạm thời và xem bảng giá trên trang giá.

Làm thế nào tôi có thể cải thiện hiệu năng cho các biểu đồ Gantt lớn?
Kích hoạt bộ nhớ đệm bằng options.setEnableCaching(true) và giữ số lượng nhiệm vụ ở mức hợp lý. SDK được tối ưu cho các bộ dữ liệu lớn, và bộ nhớ đệm giảm đáng kể thời gian render.

Đọc thêm