TaskSeriesDataset ব্যবহার করে Gantt Chart তৈরি

Gantt Chart তৈরি করা - জেফ্রিচার্ট (JFreeChart) - Java Technologies

266

Gantt Chart একটি বিশেষ ধরনের চার্ট যা প্রকল্পের ব্যবস্থাপনা এবং সময় নির্ধারণের জন্য ব্যবহৃত হয়। এটি একটি টাস্কের সময়সীমা, স্ট্যাটাস এবং নির্দিষ্ট সময়ের মধ্যে বিভিন্ন কাজের অগ্রগতি প্রদর্শন করে। Java তে JFreeChart লাইব্রেরি ব্যবহার করে Gantt Chart তৈরি করা সম্ভব, এবং এটি TaskSeriesDataset ব্যবহার করে সহজে করা যেতে পারে।

TaskSeriesDataset হল JFreeChart এর একটি বিশেষ ধরনের ডেটাসেট, যা Gantt Chart তৈরি করতে ব্যবহৃত হয়। এটি বিভিন্ন কাজের (tasks) জন্য সময় এবং স্ট্যাটাস নির্ধারণ করতে সহায়তা করে।


Gantt Chart এর উপাদান

Gantt Chart এর মধ্যে সাধারণত তিনটি গুরুত্বপূর্ণ উপাদান থাকে:

  1. Task (কাজ): প্রকল্পের বিভিন্ন কাজ।
  2. Start Date (শুরু তারিখ): কাজের শুরু হওয়ার তারিখ।
  3. End Date (শেষ তারিখ): কাজের শেষ হওয়ার তারিখ।
  4. Progress (অগ্রগতি): কাজের অগ্রগতি শতাংশ আকারে।
  5. Task Series (টাস্ক সিরিজ): একাধিক কাজের সিরিজ যেগুলি একসাথে প্রদর্শিত হয়।

TaskSeriesDataset ব্যবহার করে Gantt Chart তৈরি

JFreeChart এর TaskSeriesDataset এবং TaskSeries ক্লাস ব্যবহার করে Gantt Chart তৈরি করা যায়। এই উদাহরণে, আমরা একটি প্রকল্পের বিভিন্ন কাজের সময়সীমা এবং অগ্রগতি প্রদর্শন করব।

উদাহরণ: Gantt Chart তৈরি করা

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.task.Task;
import org.jfree.data.task.TaskSeries;
import org.jfree.data.task.TaskSeriesCollection;

import javax.swing.*;
import java.util.Date;

public class GanttChartExample {

    public static void main(String[] args) {
        // TaskSeries তৈরি করা
        TaskSeries series = new TaskSeries("Project Tasks");

        // Tasks যোগ করা
        series.add(new Task("Task 1", new Date(2023, 3, 1), new Date(2023, 3, 5)));
        series.add(new Task("Task 2", new Date(2023, 3, 6), new Date(2023, 3, 10)));
        series.add(new Task("Task 3", new Date(2023, 3, 11), new Date(2023, 3, 15)));
        series.add(new Task("Task 4", new Date(2023, 3, 16), new Date(2023, 3, 20)));
        
        // TaskSeriesCollection তৈরি করা
        TaskSeriesCollection dataset = new TaskSeriesCollection();
        dataset.add(series);

        // Gantt Chart তৈরি করা
        JFreeChart chart = ChartFactory.createGanttChart(
                "Project Gantt Chart", // Chart title
                "Task",               // X-axis label
                "Timeline",           // Y-axis label
                dataset,              // Dataset
                false,                // No legend
                true,                 // Tooltips
                false                 // URLs
        );

        // ChartPanel তৈরি করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));

        // JFrame তৈরি করে chartPanel যোগ করা
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

কোড ব্যাখ্যা:

  1. TaskSeries:
    • এটি একাধিক টাস্ক ধারণ করতে ব্যবহৃত হয়। এখানে, একটি টাস্ক সিরিজ (TaskSeries) তৈরি করা হয়েছে যার নাম "Project Tasks"
    • Task অবজেক্ট ব্যবহার করে বিভিন্ন কাজের নাম, শুরু সময় এবং শেষ সময় নির্ধারণ করা হয়েছে।
  2. TaskSeriesCollection:
    • এটি একটি সংগ্রহ (collection) যা একাধিক TaskSeries ধারণ করে। এখানে, শুধুমাত্র একটি সিরিজ (series) যোগ করা হয়েছে।
  3. ChartFactory.createGanttChart():
    • ChartFactory.createGanttChart() মেথডের মাধ্যমে Gantt Chart তৈরি করা হয়েছে। এটি চারটি প্যারামিটার নেয়:
      • Chart title: চার্টের শিরোনাম।
      • X-axis label: X-অক্ষের লেবেল।
      • Y-axis label: Y-অক্ষের লেবেল।
      • Dataset: ডেটাসেট যা টাস্কের সময়সীমা এবং অগ্রগতি ধারণ করে।
  4. ChartPanel:
    • এটি একটি প্যানেল যা JFreeChart তৈরি করা চার্টকে Swing GUI তে প্রদর্শন করতে ব্যবহৃত হয়।
  5. JFrame:
    • এটি একটি উইন্ডো যা ব্যবহারকারীর জন্য চার্টটি প্রদর্শন করে।

কাস্টমাইজেশন এবং স্টাইলিং

JFreeChart ব্যবহার করে Gantt Chart এর বিভিন্ন অংশ কাস্টমাইজ করা যায়, যেমন:

  • বারের রঙ: প্রতিটি কাজের জন্য আলাদা রঙ সেট করা যায়।
  • প্রগ্রেস দেখানো: কাজের অগ্রগতি শতাংশ হিসেবে দেখানো যায়।

উদাহরণ: বার রঙ কাস্টমাইজেশন

chart.getPlot().setBackgroundPaint(Color.white);
chart.getCategoryPlot().getRenderer().setSeriesPaint(0, Color.GREEN); // Task 1 এর রঙ
chart.getCategoryPlot().getRenderer().setSeriesPaint(1, Color.BLUE);  // Task 2 এর রঙ

উদাহরণ: Task Progress কাস্টমাইজেশন

series.getTask(0).setPercentComplete(0.5f); // Task 1 এর অগ্রগতি ৫০%

সারাংশ

Gantt Chart JFreeChart এর মাধ্যমে প্রকল্প ব্যবস্থাপনা এবং সময় নির্ধারণের জন্য একটি কার্যকরী টুল। TaskSeriesDataset ব্যবহার করে আপনি সহজেই বিভিন্ন কাজের সময়সীমা, স্ট্যাটাস এবং অগ্রগতি প্রদর্শন করতে পারেন। এই চার্টটি বিশেষভাবে প্রকল্প ব্যবস্থাপনা সফটওয়্যার এবং রিপোর্টিং সিস্টেমে ব্যবহৃত হয়, যেখানে কাজের অগ্রগতি এবং সময়কাল প্রয়োজনীয় ডেটার অংশ হিসাবে প্রদর্শন করতে হয়। JFreeChart এর কাস্টমাইজেশন অপশন ব্যবহার করে আপনি চার্টটিকে আরও উপযোগী এবং বিস্তারিতভাবে উপস্থাপন করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...