Pada artikel kali ini saya akan berbagi bagaimana cara membuat line chart di netbeans dengan mudah tanpa ribet. Contoh seperti dibawah ini :
Pada artikel sebelumnya juga telah saya bahas cara membuat pie chart (diagram lingkaran) di netbeans
Untuk membuat grafik line chart sederhana ini kita menggunakan library JFreeChart, yakni JFreeChart adalah library gratis untuk membuat grafik pada pemrograman java. Maka dari itu anda harus mengimport library di setiap packgake yang akan kita gunakan untuk membuat grafik di netbeans.
Sebelum masuk ke tutorial membuat line chart di java netbeans, silahkan download terlebih dahulu JFreeChart DISINI. Jika sudah ikuti langkah berikut.
Cara Membuat Line Chart di Netbeans Dengan Library JFreeChart
1. Silahkan import JFreeChart yang telah anda download, dengan cara klik kanan pada library > add JAR/Folder
2. Pilih semua. klik Open
3. Sehingga terlihat seperti ini :
4. Buatlah package baru dengan nama GrafikLine
5. Buat Java Class… dengan nama LineChart
6. Paste source code ini pada class LineChart
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package GrafikLine;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
/**
*
* @author buahdjayamandiri
*/
public class LineChart extends JPanel{
public LineChart() {
this.setPreferredSize(new Dimension(400, 340));
this.setBackground(Color.WHITE);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
GeneralPath gp = new GeneralPath(GeneralPath.WIND_NON_ZERO);
gp.moveTo(30,290);
gp.lineTo(370, 290);
gp.moveTo(30,90);
gp.lineTo(370, 90);
gp.moveTo(30, 130);
gp.lineTo(370, 130);
gp.moveTo(30, 170);
gp.lineTo(370, 170);
gp.moveTo(30, 210);
gp.lineTo(370, 210);
gp.moveTo(30, 250);
gp.lineTo(370, 250);
//LineCharts atau garis titik koordinat
gp.moveTo(79, 250);
gp.lineTo(114, 170);
gp.moveTo(114,170);
gp.lineTo(145,90);
gp.moveTo(145,90);
gp.lineTo(180,130);
gp.moveTo(180, 130);
gp.lineTo(215,170);
gp.closePath();
g2.draw(gp);
//membentuk grafik dan variable
g2.drawString("100",7,90);
//g2.drawString("90",13,110);
g2.drawString("80",13,130);
//g2.drawString("70",13,150);
g2.drawString("60",13,170);
//g2.drawString("50",13,190);
g2.drawString("40",13,210);
//g2.drawString("30",13,230);
g2.drawString("20",13,250);
//g2.drawString("10", 13, 270);
g2.drawString("0",20,290);
g2.drawString("2016",70,310);
g2.drawString("2017",105,310);
g2.drawString("2018",140,310);
g2.drawString("2019",175,310);
g2.drawString("2020",210,310);
//titik koordinat
Shape kotak1 = new Rectangle2D.Double(76,250,5,5); //20
Shape kotak2 = new Rectangle2D.Double(111,170,5,5); //60
Shape kotak3 = new Rectangle2D.Double(143,90,5,5); //100
Shape kotak4 = new Rectangle2D.Double(179,128,5,5); //80
Shape kotak5 = new Rectangle2D.Double(213,169,5,5); //60
g2.setColor(Color.red);
g2.fill(kotak1);
g2.fill(kotak2);
g2.fill(kotak3);
g2.fill(kotak4);
g2.fill(kotak5);
}
}
7. Kemudian buatlah Java Class… baru dengan nama MainLineChart
8. Pastekan source code dibawah ini pada clas MainLineChart
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package GrafikLine;
import com.sun.glass.events.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
/**
*
* @author buahdjayamandiri
*/
public class MainLineChart {
public static void main(String[] args) {
// TODO code application logic here
JFrame frame = new JFrame("Line Charts");
frame.addWindowFocusListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//tambahkan panel
LineChart campas = new LineChart();
frame.getContentPane().add(campas);
frame.pack();
frame.setVisible(true);
}
}
9. Sekarang jalankan program grafik line chart. Dengan cara klik kanan pada MainLineChart > Run File (Shift F6)
Output :
Itulah cara membuat line chart di netbeans menggunakan library JFreeChart.