Gantt Chart
2 posters
IITDU Forum :: Academics (BIT) :: Semester 4 :: CSE 401
Page 1 of 1
Gantt Chart
আমাদের মধ্যে অনেকেই সিডিউলার সিমুলেশান এ গ্রাফিক্যাল ভিও নিয়ে আগ্রহী। আমি একটু খুজাখুজি করলাম। বেশি দেখি নাই। তিনটা জার পেয়েছি। একটা প্রজেক্ট পেয়েছি jfreechart নামে। কিন্তু সমস্যা হলো এই প্রজেক্ট টা অনেক বড়ো এবং এই তিনটা জার ছাড়াও আরও অসংখ্যা ক্লাস লিখতে হয়। যেমন -
উপরের গুলো মুলত প্যকেজ .. এইগুলো লাগবে। এর মধ্যে সব গুলো প্রয়োজনীয় নাও হতে পারে। কোনগুলো প্রয়োজনীয় না তা সর্ট আউট করে বের করা একটু সময় সাপেক্ষ। আমি চেষ্টা করবো সেটি। তবে আপাতত যেহেতু সময় কম, তাই সব গুলোই এড করবো। তো এতোগুলো প্যকেজ এড করা কিছুটা ঝামেলার। তাই আমি সিদ্ধান্ত নিয়েছি, এই সব প্রয়োজনীয় প্যাকেজ গুলোকে নিয়ে একটি জার তৈরি করবো। যাতে সহজেই ব্যবহার করা যায়।
আর চার্ট তৈরি করার জন্য কিছু টিউটোরিয়াল পেয়েছি .. এগুলো নিচে দিয়েছি।
[You must be registered and logged in to see this link.]
আগ্রহীরা উপরের লিংক গুলো দেখতে পারে। যাহোক, একত্রিকৃত জারটি পাওয়া যাবে [You must be registered and logged in to see this link.]।
আর জার কিভাবে এড করতে হয়, তা মনে হয় সবাই ইতিমধ্যে জানে। না জানলে [You must be registered and logged in to see this link.] থেকে দেখে নিতে পারে।
এখন একটি ডেমো দেখা যাক-
আশাকরি, এটি সবাই কাস্টোমাইজ করতে পারবে।
ধন্যবাদ সবাইকে সবাইকে ।
Credit Line
[You must be registered and logged in to see this link.]
com.keypoint
org.jfree
org.jfree.base
org.jfree.base.config
org.jfree.base.log
org.jfree.base.modules
org.jfree.chart
org.jfree.chart.annotations
org.jfree.chart.annotations.junit
org.jfree.chart.axis
org.jfree.chart.axis.junit
org.jfree.chart.block
org.jfree.chart.block.junit
org.jfree.chart.demo
org.jfree.chart.demo.resources
org.jfree.chart.encoders
org.jfree.chart.entity
org.jfree.chart.entity.junit
org.jfree.chart.event
org.jfree.chart.imagemap
org.jfree.chart.junit
org.jfree.chart.labels
org.jfree.chart.labels.junit
org.jfree.chart.needle
org.jfree.chart.plot
org.jfree.chart.plot.junit
org.jfree.chart.renderer
org.jfree.chart.renderer.category
org.jfree.chart.renderer.category.junit
org.jfree.chart.renderer.junit
org.jfree.chart.renderer.xy
org.jfree.chart.renderer.xy.junit
org.jfree.chart.resources
org.jfree.chart.servlet
org.jfree.chart.title
org.jfree.chart.title.junit
org.jfree.chart.tooltips
org.jfree.chart.ui
org.jfree.chart.ui.junit
org.jfree.chart.urls
org.jfree.chart.urls.junit
org.jfree.data
org.jfree.data.category
org.jfree.data.category.junit
org.jfree.data.contour
org.jfree.data.function
org.jfree.data.gantt
org.jfree.data.gantt.junit
org.jfree.data.general
org.jfree.data.general.junit
org.jfree.data.io
org.jfree.data.jdbc
org.jfree.data.junit
org.jfree.data.resources
org.jfree.data.statistics
org.jfree.data.statistics.junit
org.jfree.data.time
org.jfree.data.time.junit
org.jfree.data.xml
org.jfree.data.xy
org.jfree.data.xy.junit
org.jfree.date
org.jfree.date.junit
org.jfree.demo
org.jfree.io
org.jfree.io.junit
org.jfree.junit
org.jfree.layout
org.jfree.resources
org.jfree.text
org.jfree.text.junit
org.jfree.threads
org.jfree.ui
org.jfree.ui.about
org.jfree.ui.about.resources
org.jfree.ui.action
org.jfree.ui.junit
org.jfree.ui.tabbedui
org.jfree.util
org.jfree.util.junit
org.jfree.xml
org.jfree.xml.attributehandlers
org.jfree.xml.factory.objects
org.jfree.xml.generator
org.jfree.xml.generator.model
org.jfree.xml.parser
org.jfree.xml.parser.coretypes
org.jfree.xml.util
org.jfree.xml.writer
org.jfree.xml.writer.coretypes
উপরের গুলো মুলত প্যকেজ .. এইগুলো লাগবে। এর মধ্যে সব গুলো প্রয়োজনীয় নাও হতে পারে। কোনগুলো প্রয়োজনীয় না তা সর্ট আউট করে বের করা একটু সময় সাপেক্ষ। আমি চেষ্টা করবো সেটি। তবে আপাতত যেহেতু সময় কম, তাই সব গুলোই এড করবো। তো এতোগুলো প্যকেজ এড করা কিছুটা ঝামেলার। তাই আমি সিদ্ধান্ত নিয়েছি, এই সব প্রয়োজনীয় প্যাকেজ গুলোকে নিয়ে একটি জার তৈরি করবো। যাতে সহজেই ব্যবহার করা যায়।
আর চার্ট তৈরি করার জন্য কিছু টিউটোরিয়াল পেয়েছি .. এগুলো নিচে দিয়েছি।
[You must be registered and logged in to see this link.]
আগ্রহীরা উপরের লিংক গুলো দেখতে পারে। যাহোক, একত্রিকৃত জারটি পাওয়া যাবে [You must be registered and logged in to see this link.]।
আর জার কিভাবে এড করতে হয়, তা মনে হয় সবাই ইতিমধ্যে জানে। না জানলে [You must be registered and logged in to see this link.] থেকে দেখে নিতে পারে।
এখন একটি ডেমো দেখা যাক-
- Code:
package org.jfree.chart.demo;
import java.util.Calendar;
import java.util.Date;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.data.gantt.Task;
import org.jfree.data.gantt.TaskSeries;
import org.jfree.data.gantt.TaskSeriesCollection;
import org.jfree.data.time.SimpleTimePeriod;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class GanttDemo1 extends ApplicationFrame {
public GanttDemo1(final String title) {
super(title);
final IntervalCategoryDataset dataset = createDataset();
final JFreeChart chart = createChart(dataset);
// add the chart to a panel...
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 470));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset for a Gantt chart.
*
* @return The dataset.
*/
public static IntervalCategoryDataset createDataset() {
final TaskSeries s1 = new TaskSeries("Scheduled");
s1.add(new Task("Write Proposal",
new SimpleTimePeriod(date(1, Calendar.APRIL, 2010),
date(5, Calendar.APRIL, 2010))));
s1.add(new Task("Obtain Approval",
new SimpleTimePeriod(date(9, Calendar.APRIL, 2010),
date(9, Calendar.APRIL, 2010))));
s1.add(new Task("Requirements Analysis",
new SimpleTimePeriod(date(10, Calendar.APRIL, 2010),
date(5, Calendar.MAY, 2010))));
s1.add(new Task("Design Phase",
new SimpleTimePeriod(date(6, Calendar.MAY, 2010),
date(30, Calendar.MAY, 2010))));
s1.add(new Task("Design Signoff",
new SimpleTimePeriod(date(2, Calendar.JUNE, 2010),
date(2, Calendar.JUNE, 2010))));
s1.add(new Task("Alpha Implementation",
new SimpleTimePeriod(date(3, Calendar.JUNE, 2010),
date(31, Calendar.JULY, 2010))));
s1.add(new Task("Design Review",
new SimpleTimePeriod(date(1, Calendar.AUGUST, 2010),
date(8, Calendar.AUGUST, 2010))));
s1.add(new Task("Revised Design Signoff",
new SimpleTimePeriod(date(10, Calendar.AUGUST, 2010),
date(10, Calendar.AUGUST, 2010))));
s1.add(new Task("Beta Implementation",
new SimpleTimePeriod(date(12, Calendar.AUGUST, 2010),
date(12, Calendar.SEPTEMBER, 2010))));
s1.add(new Task("Testing",
new SimpleTimePeriod(date(13, Calendar.SEPTEMBER, 2010),
date(31, Calendar.OCTOBER, 2010))));
s1.add(new Task("Final Implementation",
new SimpleTimePeriod(date(1, Calendar.NOVEMBER, 2010),
date(15, Calendar.NOVEMBER, 2010))));
s1.add(new Task("Signoff",
new SimpleTimePeriod(date(28, Calendar.NOVEMBER, 2010),
date(30, Calendar.NOVEMBER, 2010))));
final TaskSeries s2 = new TaskSeries("Actual");
s2.add(new Task("Write Proposal",
new SimpleTimePeriod(date(1, Calendar.APRIL, 2010),
date(5, Calendar.APRIL, 2010))));
s2.add(new Task("Obtain Approval",
new SimpleTimePeriod(date(9, Calendar.APRIL, 2010),
date(9, Calendar.APRIL, 2010))));
s2.add(new Task("Requirements Analysis",
new SimpleTimePeriod(date(10, Calendar.APRIL, 2010),
date(15, Calendar.MAY, 2010))));
s2.add(new Task("Design Phase",
new SimpleTimePeriod(date(15, Calendar.MAY, 2010),
date(17, Calendar.JUNE, 2010))));
s2.add(new Task("Design Signoff",
new SimpleTimePeriod(date(30, Calendar.JUNE, 2010),
date(30, Calendar.JUNE, 2010))));
s2.add(new Task("Alpha Implementation",
new SimpleTimePeriod(date(1, Calendar.JULY, 2010),
date(12, Calendar.SEPTEMBER, 2010))));
s2.add(new Task("Design Review",
new SimpleTimePeriod(date(12, Calendar.SEPTEMBER, 2010),
date(22, Calendar.SEPTEMBER, 2010))));
s2.add(new Task("Revised Design Signoff",
new SimpleTimePeriod(date(25, Calendar.SEPTEMBER, 2010),
date(27, Calendar.SEPTEMBER, 2010))));
s2.add(new Task("Beta Implementation",
new SimpleTimePeriod(date(27, Calendar.SEPTEMBER, 2010),
date(30, Calendar.OCTOBER, 2010))));
s2.add(new Task("Testing",
new SimpleTimePeriod(date(31, Calendar.OCTOBER, 2010),
date(17, Calendar.NOVEMBER, 2010))));
s2.add(new Task("Final Implementation",
new SimpleTimePeriod(date(18, Calendar.NOVEMBER, 2010),
date(5, Calendar.DECEMBER, 2010))));
s2.add(new Task("Signoff",
new SimpleTimePeriod(date(10, Calendar.DECEMBER, 2010),
date(11, Calendar.DECEMBER, 2010))));
final TaskSeriesCollection collection = new TaskSeriesCollection();
collection.add(s1);
collection.add(s2);
return collection;
}
/**
* Utility method for creating <code>Date</code> objects.
*
* @param day the date.
* @param month the month.
* @param year the year.
*
* @return a date.
*/
private static Date date(final int day, final int month, final int year) {
final Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
final Date result = calendar.getTime();
return result;
}
/**
* Creates a chart.
*
* @param dataset the dataset.
*
* @return The chart.
*/
private JFreeChart createChart(final IntervalCategoryDataset dataset) {
final JFreeChart chart = ChartFactory.createGanttChart(
"Gantt Chart Demo", // chart title
"Task", // domain axis label
"Date", // range axis label
dataset, // data
true, // include legend
true, // tooltips
false // urls
);
// chart.getCategoryPlot().getDomainAxis().setMaxCategoryLabelWidthRatio(10.0f);
return chart;
}
/**
* Starting point for the demonstration application.
*
* @param args ignored.
*/
public static void main(final String[] args) {
final GanttDemo1 demo = new GanttDemo1("Gantt Chart Demo 1");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}
আশাকরি, এটি সবাই কাস্টোমাইজ করতে পারবে।
ধন্যবাদ সবাইকে সবাইকে ।
Credit Line
[You must be registered and logged in to see this link.]
Re: Gantt Chart
Thanx a lot dost....khub kajer ekta post.... [You must be registered and logged in to see this image.]
BIT0109-Jobaer- Beta Release
- Course(s) :
- BIT
Blood Group : B+
Posts : 91
Points : 191
IITDU Forum :: Academics (BIT) :: Semester 4 :: CSE 401
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|
Tue Sep 29, 2015 2:45 pm by Sophiawood
» Cisco EHWIC SFP/GE WAN Card
Mon Sep 07, 2015 11:08 am by Sophiawood
» Huawei S1700-28GFR-4P-AC Price
Thu Jun 25, 2015 2:31 pm by Sophiawood
» teach yourself C++ / Herbert Schildt Solutions
Wed Jun 03, 2015 1:52 pm by Abdullah Al Noman
» teach yourself c by herbert schildt pdf
Wed May 13, 2015 11:01 pm by Raquib Ridwan
» ASA 5506X With Firepower ASA5506-K9
Fri Apr 10, 2015 4:31 pm by Sophiawood
» New Trends in Deal Business
Tue Feb 03, 2015 9:38 pm by nersoa
» PoE Power Allocation for WS-C2960S-24PS-L
Wed Nov 05, 2014 11:12 am by Sophiawood
» How to cure back pain
Fri Oct 31, 2014 7:15 pm by Bergen Guildford