به تصویر کشیدن جدول زمانی پروژه‌ها به تیم‌ها کمک می‌کند تا هماهنگ بمانند و مهلت‌ها را رعایت کنند. Conholdate.Total for Java یک SDK قدرتمند فراهم می‌کند که ایجاد نمودار گانت در جاوا را تنها با چند خط کد آسان می‌سازد. در این راهنما خواهید دید که چگونه کتابخانه را تنظیم کنید، وظایف را تعریف کنید، ظاهر را سفارشی کنید و نمودار را به PDF صادر کنید.

راه‌اندازی Conholdate.Total for Java

قبل از شروع کدنویسی، اطمینان حاصل کنید که Java 17 یا بالاتر و یک IDE سازگار با Maven دارید. مخزن Maven Conholdate و وابستگی 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 در مسیر کلاس شما قرار گرفت، آماده‌اید تا نمودار را بسازید.

ساخت گام به گام: ایجاد نمودار گانت در جاوا

مرحله 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 مراجعه کنید.

مرحله ۲: ایجاد نمونه GanttChart

گزینه‌های پیکربندی‌شده را به سازندهٔ GanttChart پاس دهید.

GanttChart chart = new GanttChart(options);

شیء نمودار اکنون موتور چیدمان را در خود دارد که آماده دریافت وظایف است.

مرحله ۳: افزودن وظایف برای ساخت جدول زمانی

از chart.addTask برای وارد کردن هر فاز پروژه استفاده کنید. افزودن وظایف هستهٔ نحوهٔ ایجاد نمودار گانت در جاوا است، زیرا هر وظیفه تاریخ شروع و پایان را تعریف می‌کند.

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 تبدیل می‌کند.

مرحله ۴: صادرات نمودار

در نهایت، نمودار را در یک فایل ذخیره کنید. SDK از PDF، PNG، JPEG و سایر فرمت‌ها پشتیبانی می‌کند.

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

اگر به خروجی متفاوتی نیاز دارید، می‌توانید SaveFormat.PDF را به SaveFormat.PNG یا SaveFormat.JPEG تغییر دهید.

مرحله 5: پاک‌سازی منابع

پس از اتمام کار، منابع بومی را آزاد کنید.

chart.dispose();

مثال کامل کد: مثال نمودار گانت جاوا

مثال زیر نشان می‌دهد که چگونه می‌توان یک نمودار گانت را در جاوا از ابتدا تا انتها ایجاد کرد.

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

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روزرسانی کنید که با محیط واقعی شما مطابقت داشته باشد، اطمینان حاصل کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.

نتیجه‌گیری

ایجاد یک نمودار گانت در جاوا با Conholdate.Total for Java به سادگی انجام می‌شود. با پیکربندی GanttChartOptions، افزودن وظایف و صادرات نتیجه، می‌توانید جدول‌های زمانی حرفه‌ای را در چند ثانیه تولید کنید. ویژگی کشینگ SDK و گزینه‌های انعطاف‌پذیر SaveFormat به شما کمک می‌کند پروژه‌های بزرگ را به‌کارآمدی مدیریت کنید. به یاد داشته باشید که برای استقرارهای تولیدی نیاز به یک لایسنس تجاری است؛ می‌توانید یک لایسنس موقت را از صفحه لایسنس موقت دریافت کنید یا جزئیات قیمت‌گذاری را در صفحه قیمت‌گذاری بررسی کنید. امروز شروع به ادغام نمودارهای گانت در برنامه‌های خود کنید و ذینفعان خود را با برنامه‌های بصری واضح مطلع نگه دارید.

سوالات متداول

چگونه می‌توانم نمودار گانت را در جاوا با استفاده از Conholdate.Total ایجاد کنم؟
از کلاس‌های GanttChart و GanttChartOptions استفاده کنید، وظایف خود را با addTask اضافه کنید و برای خروجی گرفتن save را فراخوانی کنید. قطعه کد کامل در این مقاله ارائه شده است.

آیا می‌توانم نمودار گانت را به فرمت‌های دیگری غیر از PDF صادر کنم؟
بله. متد chart.save مقادیر SaveFormat.PNG، SaveFormat.JPEG و سایر مقادیر تعریف‌شده در enum SaveFormat را می‌پذیرد. برای فهرست کامل به مستندات رسمی مراجعه کنید.

برای استفاده در تولید چه نوع لایسنس‌گذاری لازم است؟
یک لایسنس تجاری الزامی است. می‌توانید یک لایسنس موقت را از صفحه لایسنس موقت درخواست کنید و قیمت‌گذاری را در صفحه قیمت‌گذاری بررسی کنید.

چگونه می‌توانم عملکرد نمودارهای گانت بزرگ را بهبود دهم؟
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.

بیشتر بخوانید