import java.util.*;
import javax.swing.*;
import org.jfree.chart.*;
import org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.data.gantt.*;
import org.jfree.data.general.Dataset;
import org.jfree.data.time.SimpleTimePeriod;
import org.jfree.ui.RefineryUtilities;
public class GanttChart extends JFrame implements mychart
{
Dataset dataset;
JFreeChart chart;
String title;
//pembuatan method
setData
private Date setDate(int tanggal, int bulan, int
tahun)
{
Calendar
calendar = Calendar.getInstance();
calendar.set(tahun, bulan-1, tanggal);
Date date =
calendar.getTime();
return date;
}
//langkah pertama
public void createDataset()
{
//Menggunakan
Class TaskSeries
TaskSeries
taskSeriesProyek = new TaskSeries("Proyek Pengadaan Generator
Listrik");
taskSeriesProyek.add(
new
Task("Membuat spesifikasi dan kriteria", new
SimpleTimePeriod(setDate(1, 3, 2011), setDate(5, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Pabrikasi generator", new SimpleTimePeriod(setDate(6, 3, 2011),
setDate(20, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Desain Pondasi", new SimpleTimePeriod(setDate(6, 3, 2011),
setDate(13, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Merekrut Operator dan mekanik", new SimpleTimePeriod(setDate(6,
3, 2011), setDate(20, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Membeli Material", new SimpleTimePeriod(setDate(14, 3, 2011),
setDate(21, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Inspeki dan uji coba", new SimpleTimePeriod(setDate(21, 3,
2011), setDate(25, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Melatih operator dan mekanik", new SimpleTimePeriod(setDate(22,
3, 2011), setDate(29, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Membuat Pondasi", new SimpleTimePeriod(setDate(22, 3, 2011),
setDate(30, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Transport dari pabrik ke lokasi proyek", new
SimpleTimePeriod(setDate(25, 3, 2011), setDate(26, 3, 2011)))
);
taskSeriesProyek.add(
new
Task("Memasang dan start up", new SimpleTimePeriod(setDate(31, 3,
2011), setDate(7, 4, 2011)))
);
//memasukan
objek class TaskSeries kedalam TaskSeriesCollection
TaskSeriesCollection taskseriescollection = new TaskSeriesCollection();
taskseriescollection.add(taskSeriesProyek);
this.dataset=taskseriescollection;
}
//langkah kedua
public void createChart()
{
this.chart =
ChartFactory.createGanttChart(
this.title, //title
"Jenis Kegiatan", // y label
"Tanggal", // x label
(IntervalCategoryDataset) this.dataset, //dataset
true,
//legend
true,
//tooltips
false); //url
}
//langkah ketiga
public void
createPanel()
{
//membuat panel
sebagai container chart
JPanel
panel=new ChartPanel(this.chart);
//menambahkan
JPanel ke JFrame
this.setContentPane(panel);
}
//langkah keempat
public
GanttChart(String s)
{
//constructor
JFrame
super(s);
this.title=s;
// inisialiasi
dataset, char, dan Jpanel
this.createDataset();
this.createChart();
this.createPanel();
//pack JFrame
this.pack();
// aplikasi
bersifat exit dan close
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// lokasi
tampilan aplikasi ditengah layar
RefineryUtilities.centerFrameOnScreen(this);
}
public static void
main(String args[])
{
GanttChart
ganttdemo1 = new GanttChart("Proyek Pengadaan Generator Listrik");
ganttdemo1.show();
}
}
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
BalasHapusnice job
BalasHapus