تساعد تصور جداول المشروع الفرق على البقاء متناسقة والالتزام بالمواعيد النهائية. Conholdate.Total for Java توفر مجموعة تطوير برمجيات قوية تجعل من السهل إنشاء مخطط جانت في Java ببضع أسطر من الشيفرة فقط. في هذا الدليل ستتعرف على كيفية إعداد المكتبة، تعريف المهام، تخصيص المظهر، وتصدير المخطط إلى PDF.

إعداد Conholdate.Total لـ Java

قبل أن تبدأ بالبرمجة، تأكد من أن لديك Java 17 أو أحدث وبيئة تطوير متوافقة مع 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.

الخطوة 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

يوضح المثال التالي كيفية إنشاء مخطط جانت في جافا من البداية إلى النهاية.

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 المرنة على التعامل مع المشاريع الكبيرة بكفاءة. تذكر أن الترخيص التجاري مطلوب للنشر في بيئات الإنتاج؛ يمكنك الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت أو استكشاف تفاصيل التسعير على صفحة التسعير. ابدأ بدمج مخططات جانت في تطبيقاتك اليوم وابقِ أصحاب المصلحة على اطلاع بجدولات بصرية واضحة.

الأسئلة المتكررة

كيف أنشئ مخطط جانت في Java باستخدام Conholdate.Total?
استخدم الفئات GanttChart و GanttChartOptions، أضف مهامك باستخدام addTask، واستدعِ save للتصدير. يتم توفير مقتطف الكود الكامل في هذه المقالة.

هل يمكنني تصدير مخطط جانت إلى صيغ غير PDF؟
نعم. طريقة chart.save تقبل SaveFormat.PNG، SaveFormat.JPEG، وغيرها من القيم المعرفة في تعداد 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.

اقرأ المزيد