«

»

Dec 19

[Java] Tutorial Jasperreport : menggunakan DataSource di JasperReport

Sebelum bisa cara ini, saya biasanya memasukkan seluruh SQL ke dalam JRXML, tapi beberapa minggu belakangan ini, di milis JUGI banyak yang membahas tentang bagaimana caranya membuat report menggunakan DataSource di JasperReport, setelah mencari tutorial di bantu oleh teman belajar saya, akhirnya bisa juga :), yah menurut saya lebih gampang dan enak menggunakan datasource, karena jika ada perubahan dalam SQL/HQL, kita hanya perlu mengubahnya di file “*.java* yang bersangkutan.

Saya bingung juga cara menjelaskan yang benar itu seperti apa :), karena saya tidak begitu paham teori nya, biasanya kalo ada hal baru langsung tabrak-tabrak aja, hehe..yang penting bisa dan ngerti prakteknya, langsung aja step by step nya :

Contoh simple nya aja, Misalnya kita ingin menampilkan info Anggota dalam program Sistem Informasi Perpustakaan, lalu kita membuat class tb_anggota.java :

Tb_anggota.java

public class tb_anggota {
private String kd_anggota;
private String nm_anggota;
private String tmp_lahir;
private Date tgl_lahir;
private String jenkel;
private String alamat;
//implement getter and setter

Sekarang buka file JRXML yang sudah kamu design lewat Ireport, kurang lebih isinya seperti ini :

<field name="kd_anggota" class="java.util.String"/>
<field name="nm_anggota" class="java.lang.String"/>
<field name="tmp_lahir" class="java.lang.String"/>
<field name="tgl_lahir" class="java.lang.Date"/>
<field name="jenkel" class="java.lang.String"/>
<field name="alamat" class="java.lang.String"/>
//design report

Atribut name dan tipe dalam JRXML harus sama dengan tipe dan nama field yang berada dalam tb_anggota.java, Setelah itu kita membuat method untuk menampung object, disini kita menggunakan List :

@SuppressWarnings("unchecked")
private List getDataSource(){
	try{
		List hasil = new ArrayList();
		Resultset rs = koneksi.selectAll();
		while(rs.next()){
			tb_anggota anggota = new tb_anggota();
			anggota.setKd_anggota(rs.getString("kd_anggota");
			anggota.setNm_anggota(rs.getString("nm_anggota");
			anggota.setTmp_lahir(rs.getString("tmp_lahir");
			anggota.setTgl_lahir(rs.getDate("tgl_lahir");
			anggota.setJenkel(rs.getString("jenkel");
			anggota.setAlamat(rs.getString("alamat");
			list.add(anggota);
		}
		koneksi.closeDB();
		return hasil;
	} catch (SQLException e) {
		e.printStackTrace();
		return null;
	}
}

Coba perhatikan baris 6, disitu kamu bisa menggantinya dengan query SQL ataupun HQL, tergantung kamu menggunakan apa, disini saya menggunakan JDBC murni, semua SQL saya taruh di class Koneksi.java, jadi sebagai contoh, pada baris ke 6 hanya perlu memanggil method selectAll(), setelah selesai semua, sekarang kita hanya perlu membuat sedikit code lagi agar bisa ditaruh di actionPerformed JButton :

//menentukan file jrmxl yang akan di compile
JasperReport jasperReport = null;
try {
	jasperReport = JasperCompileManager.
	compileReport("./src/perpustakaan/report/TagihanBuku.jrxml");
} catch (JRException e1) {
	e1.printStackTrace();
}
 
//compile file .jrmxl ke .jasper
try {
	JasperCompileManager.compileReportToFile("./src/perpustakaan/report/TagihanBuku.jrxml",
	"./src/perpustakaan/report/TagihanBuku.jasper");
} catch (JRException e1) {
	e1.printStackTrace();
}
 
//mengisi dan menampilkan report
JasperPrint jasperPrint = null;
try {
	jasperPrint = JasperFillManager.fillReport(jasperReport,
	new HashMap(), new JRBeanCollectionDataSource(getDataSource()));
	JasperViewer.viewReport(jasperPrint);
} catch (JRException e1) {
	e1.printStackTrace();
}

Taruh code diatas pada aksi JButton, jadi ketika tombol ditekan, laporan akan keluar :), ketika saya menulis artikel ini, rada bingung juga, coz ada beberapa code yang saya rubah, sepertinya ada yang salah, hehehe…tapi seenggaknya kamu punya bayangan kan bagaimana menampilkan report menggunakan datasource di java , jika ada kesalahan, kritik dan saran, silahkan tulis comment dibawah, terima kasih :)

42 comments

  1. achmatim

    sip, mantab deh kus.semakin banyak nulis nanti kan akan terasah ilmunya. tetep semangat!
    .-= achmatim´s last blog ..10 Hal yang Tidak Boleh Dilakukan terhadap Adsense =-.

    Kus Andriadi :
    amin..makasih pak..^.^

    [Reply]

  2. Farham

    keren, keren, keren

    Kus Andriadi :
    ^.^

    [Reply]

  3. doez

    OK THX INFONYA

    Kus Andriadi :
    Sama2 kakak :)

    [Reply]

  4. Ahn

    Trims tutorialnya membantu banget….

    Kus Andriadi :
    iya sama2 :)

    [Reply]

  5. rental mobil murah

    okeee aza
    nice blog

    Kus Andriadi :
    thanks…:)

    [Reply]

  6. adi wijaya

    halo mas andri genteng (*kata kunci :D)
    hehe…
    ini mas, sy udh cb sesuai dengan sample punya mas andri, tp sy baru buat yg ga terkoneksi database, muncul error :
    java.lang.NullPointerException net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:138) net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:119) net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:420) org.apache.jsp.LoadReport_jsp._jspService(LoadReport_jsp.java:108) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    berikut code sy:

    itu kira2 kenapa ya mas? karena sy udh cb dengan sample yg ada disite yg laen jg muncul error kurang lebih sama.
    mohon pencerahannya.. :D
    nuwun

    @d13

    Kus Andriadi :
    mana codenya…zzz….

    tapi kayaknya sih salah direktori waktu manggil jasper nya….:) coba liat lagi, bener gak direktorinya :)

    [Reply]

  7. adi wijaya

    maaf ini code nya :
    JasperReport jasperReport = null;
    try {
    jasperReport = JasperCompileManager.compileReport(“d:/SampleReportJasper/sampleReport5.jrxml”);
    }
    catch (JRException e1) {
    e1.printStackTrace();
    }

    //compile file .jrmxl ke .jasper
    try {
    JasperCompileManager.compileReportToFile(“d:/SampleReportJasper/sampleReport5.jrxml”,”d:/SampleReportJasper/sampleReport5.jasper”);
    }
    catch (JRException e1) {
    e1.printStackTrace();
    }

    //mengisi dan menampilkan report
    JasperPrint jasperPrint = null;
    try {
    jasperPrint = JasperFillManager.fillReport(jasperReport,null);
    JasperViewer.viewReport(jasperPrint);
    }
    catch (JRException e1) {
    e1.printStackTrace();
    }

    mohon pencerahannya :)
    nuwun

    @d13

    Kus Andriadi :
    lw gak pake datasource ya? yang kaya contoh gw? gw juga kurang ngerti sih coz gw gak pernah make jasperreport selain pake cara datasource….tapi karena eksepsionnya ngelempar null, kalo menurut gw ada 2 kemungkinan
    1. manggil Direktori jrxml/jasper nya salah….
    2. jasperPrint = JasperFillManager.fillReport(jasperReport,null);

    tuh diisi null, belom ada datanya, :) jadi apa yang mau diisi? :)

    menurut gw itu loh yah :)

    [Reply]

  8. ard

    kalo jasper bisa ngeprint yang dibutuhkan aja gak yah misalnya kalo gw punya member si budi
    gw pengen ngeprin si budi aja itu gmn caranyanya mohon dibales yah thex…..
    kirim ke email gw aja oke thx yah bro……

    [Reply]

    Kus Andriadi Reply:

    kalo itu tergantung queri sql yang ditaro di jrxml/program nya…..di clausa where…misalnya select bla bla where nama = “budi”

    [Reply]

  9. Achoel Dolie

    Gw mondar nyari source code buat JasperReport dengan DataSOurce, eeehhhh nyangkut di blognya si kus..
    mantap dah tulisannya Gan!!… Laaannnjuuuuttt, pusing” gw nyari eeehhh disini nammmpoooolllll sourcecodenya.. hahahah :P

    mantaaap !

    [Reply]

  10. ian

    mas kalo parameter nya cuma satu gimana ya mas? apa karena tabel databasenya berelasi sehingga parameternya dua?

    [Reply]

    Kus Andriadi Reply:

    maksudnya apa ya?

    [Reply]

  11. regas

    Ass….Slam kenal semua…sya punya problem…laporan yang dibuat pake ireport hanya tampil dari netbeans….jika project di Clean and Build trus dijalankan aplikasi.jar (yang ada dalam folder dist dari project) muncul pesan kira2 begini…ClassNotFoundException…Laporan Tidak dapat dicetak….Mohon pencerahannya….Tolong ya…..Pleasee….

    ini kodenya….

    void cetak() {
    try {
    //Lokasi File Jasper//
    String nmFile=”src/report/reportbarang.jasper”;
    String driver=”com.mysql.jdbc.Driver”;
    String konek=”jdbc:mysql://localhost/penjualan”;
    String user=”root”;
    String password=”";

    HashMap parameter=new HashMap();
    Class.forName(driver);
    Connection conn=DriverManager.getConnection(konek,user,password);

    File reportFile=new File(nmFile);
    JasperReport jReport= (JasperReport)JRLoader.loadObject(reportFile.getPath());
    JasperPrint jPrint=JasperFillManager.fillReport(jReport, parameter,conn);
    JasperViewer.viewReport(jPrint,true);
    JasperViewer.setDefaultLookAndFeelDecorated(true);
    }
    catch (Exception e) {
    JOptionPane.showMessageDialog(null, “Laporan Tidak Dapat Dicetak!\n” +
    e.getMessage(),”Cetak Laporan”, JOptionPane.ERROR_MESSAGE);
    }
    }

    [Reply]

    Kus Andriadi Reply:

    aturan yang di copas jangan code nya…tapi pesan error nya :D itu kalo ada pesan class not found, berarti ada jar yang belum dimasukin :D

    [Reply]

    regas Reply:

    saya sudah coba memasukkan semua library yang ada pada ireport ke netbeans….yang sya heran kalau dijalankan dari netbeans trus ditekan button cetak dengan kode cetak yang saya lampirkan di atas…laporan tampil dengan sempurna…tapi setelah project di clean dan build …trus saya jalankan projectdari folder dist (aplikasi.jar) tidak bisa…tlong ya kalau ada cara lain menmpilkan laporan dari netbeans..tolong share..

    [Reply]

    Kus Andriadi Reply:

    itu karena path waktu manggil file jasper nya beda…..coba file jasper nya taro di luar folder src…nantinya kalo di jalanin via aplikasi jar….file jasper nya juga jangan lupa ditaro diluar jar….

    [Reply]

  12. Ratno

    Alhamdulillah caraku sama, jadi ngak melenceng dunk

    [Reply]

  13. gx

    gada ni blog TA gw gakan kelar deh

    [Reply]

    Kus Andriadi Reply:

    hahaha thanks :D

    [Reply]

  14. eko

    maap nih mau tanya gmn cara buat ireport pada Jcreator dan cara menapilkan nya… sekian terima kasih jawaban kirim email saya

    [Reply]

    Kus Andriadi Reply:

    sama aja dengan cara diatas…

    [Reply]

  15. ilm

    permisi mas mau tny, ni sy sdang bikin program yg ada di buku. semua sudah selesai. program jg sudah jalan. tapi tombol utk ngeklik laporannya gag fungsi, pdhl sudah di setting jg

    utk menu utama:
    private static void printReport(JRBeanCollectionDataSource vData, String vReport) {
    String dirrTemplate=”";
    String dirrResult=”";

    try {
    File dir1=new File(“.”);
    dirrTemplate=dir1.getCanonicalPath()+”\\report\\template\\”;
    dirrResult=dir1.getCanonicalPath()+”\\report\\result\\”;
    Map parameters=new HashMap();

    JasperFillManager.fillReportToFile(dirrTemplate+vReport+”.jasper”,
    dirrResult+vReport+”.jrprint”,parameters,vData);
    File sourceFile=new File(dirrResult+vReport+”.jrprint”);
    JasperPrint jasperPrint=(JasperPrint)JRLoader.loadObject(sourceFile);
    JasperViewer.viewReport(jasperPrint,false);
    } catch (JRException e) {
    e.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    utk button:
    private void lapDaftarAdminActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    AdminFactory.setConnection(MyApp.getApp().getConnection());
    JRBeanCollectionDataSource dt=new JRBeanCollectionDataSource(AdminFactory.getRecord());
    printReport(dt, “Admin”);

    }

    nah utk datanya, sy simpan di 2 file: AdminBean.java & AdminFactory.java ,gmn ya biar laporanny mau loading?
    trims

    [Reply]

    Kus Andriadi Reply:

    pesan error nya apa?

    [Reply]

  16. eko

    maap ni saya punya problem…. saya pke jcreator ga da yang eror tp ga muncul ya jasper nya ini kode source nya…
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */

    /**
    *
    * @author Administrator
    */
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.sql.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.util.Map;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.view.JasperViewer;

    public class FormCtk extends JInternalFrame implements ActionListener{
    static Connection lConnection ;
    private String ReportPath = “report/”;
    private JPanel jpFormCtk = new JPanel();
    private JButton btnAdd = new JButton();

    FormCtk(){
    super (“Form Report Pegawai”, false, true, false, true);
    setSize(560,360);

    jpFormCtk.setLayout(null);
    btnAdd.setBounds (400,175,85,25);
    btnAdd.setLabel(“Add”);
    btnAdd.setEnabled(true);
    btnAdd.addActionListener(this);
    jpFormCtk.add(btnAdd);
    getContentPane().add(jpFormCtk);
    setVisible(true);

    lConnection = InitConnection();
    }
    public void actionPerformed (ActionEvent ae){
    Object obj = ae.getSource();
    if(obj == btnAdd){
    }
    }
    void Add(){
    buildReport(“DaftarPegawai”);
    }
    private static Connection InitConnection(){
    String user =”root”;
    String pwd = “”;
    String host = “localhost”;
    String db = “dbpenggajian”;
    String urlValue = “”;
    Connection koneksi= null;
    try{
    urlValue = “jdbc:mysql://”+ host + “/” + db + “?user=” + user +”&password=”+pwd;
    koneksi = DriverManager.getConnection(urlValue);
    }
    catch (Exception e){
    System.out.println(e);
    }
    return koneksi;
    }
    private void buildReport (String vName){
    String reportSource;
    String reportDest;
    reportSource = ReportPath + “templates/” + vName +”.jrxml”;
    reportDest = ReportPath + “results/” + vName + “.html”;
    try{
    JasperReport jasperReport =JasperCompileManager.compileReport(reportSource);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, lConnection);
    JasperExportManager.exportReportToHtmlFile(jasperPrint,reportDest);
    JasperViewer.viewReport(jasperPrint,false);
    }
    catch(JRException ex){
    ex.printStackTrace();
    }
    }
    }

    mohon petunjuk yah saya pke jasper report-2.0.5
    saya mau tanya: cara menghubungkan jcreator dengan jasper gmna.. maksih,,,

    [Reply]

    Kus Andriadi Reply:

    pesan error nya mana?

    [Reply]

  17. eko

    kan saya dah tulis ga da yang eror tp waktu saya klik button add jasper report nya ga muncul jadi kira-kira pa yang kurang….

    [Reply]

    Kus Andriadi Reply:

    action di button nya udah dibikin belum? kalo udah seharusnya ada pesan errornya

    [Reply]

  18. eko

    distu dah komplit smua bro… dari action method button kan ada masa ga tau….

    [Reply]

    Kus Andriadi Reply:

    coba liat di action performed, kalo button add keteken, dia bakal ngelakukan..itu kayaknya gak ada action apa2…

    apa gue yang salah liat :D

    [Reply]

  19. gi3

    Tx sebelumnya Mas

    saya udah coba jalanin programnya< dan memiliki sedikit kendala
    pada class private List getDataSource()
    anggota.setKd_anggota(rs.getString("kd_anggota");

    lha anggota.setKD_anggota itu apa?

    pessan error:
    cannot find symbol
    symbol : method setKD_Anggota (java.lang.String)

    mohon pencerahannya
    Makasih sebelumnya,,,

    [Reply]

  20. gi3

    Tenyata code untuk tb_anggota.java dan file JRXML di atas belum lengkap yah mas???

    mohon versi lengkapnya mas,,,
    lagi butuh banget neh buat tugas

    skali lagi terimakasih

    [Reply]

    Kus Andriadi Reply:

    tb_anggota.java itu isinya cuma getter setter aja mas :)
    jrxml nya juga cuma bagian tersebut yang diubah,

    [Reply]

  21. eko

    void Add(){
    buildReport(“DaftarPegawai”);
    }

    private void buildReport (String vName){
    String reportSource;
    String reportDest;
    reportSource = ReportPath + “templates/” + vName +”.jrxml”;
    reportDest = ReportPath + “results/” + vName + “.html”;
    try{
    JasperReport jasperReport =JasperCompileManager.compileReport(reportSource);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, lConnection);
    JasperExportManager.exportReportToHtmlFile(jasperPrint,reportDest);
    JasperViewer.viewReport(jasperPrint,false);
    }
    catch(JRException ex){
    ex.printStackTrace();
    }
    }
    }

    ini bukan termasuk action ya…?

    [Reply]

    Kus Andriadi Reply:

    if(obj == btnAdd){
    }

    itu kosong kan?? jadi kalo buttonnya dipencet, gak ngapa2in kan?

    [Reply]

  22. gi3

    Hehehe,,,
    saya masih baru dalam dunia java mas

    jadi belum tau gmn itu getter / setter =,=’a
    mohon script lengkapnya :)
    skali lagi terimakasih sebelumnya

    [Reply]

    Kus Andriadi Reply:

    coba liat ini mas contohnya :D

    http://avriqzramadhan.wordpress.com/2011/02/17/method-setter-dan-getter/

    [Reply]

  23. ari

    mas mau tanya nih aku punya class buat manggil jasper tapi waktu aku jadiin jar ko ga tampil yah kadang action nya ga aktif tolong donk kasih tau gmana biar mulus…. Nih code nya :

    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import java.sql.Connection;
    import java.sql.SQLException;

    import java.util.Map;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.view.JasperViewer;
    import java.io.FileInputStream;
    import java.io.BufferedInputStream;
    public class FormLogin extends JFrame{

    private JPanel jPanel1 = new JPanel();

    private JButton blogin = new JButton();
    private JButton bkeluar = new JButton();
    private JTextField txtNama;

    public Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    private int w,h,x,y;
    private int L,T,LX,TY;

    private static JFrame owner;

    public FormLogin(JFrame owner) {

    super();

    jPanel1.setLayout(null);

    //———————————-

    txtNama = new JTextField();
    txtNama.setBounds(110,20,200,25);
    jPanel1.add(txtNama);

    blogin.setText(“LOGIN”);
    blogin.setForeground(Color.blue);
    blogin.setBounds(20,150,120,25);
    jPanel1.add(blogin);

    bkeluar.setText(“BATAL”);
    bkeluar.setForeground(Color.blue);
    bkeluar.setBounds(180,150,120,25);
    jPanel1.add(bkeluar);

    add(jPanel1);
    setTitle(“LOGIN”);
    setResizable(false);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setSize(350,250);

    w = getSize().width;
    h = getSize().height;

    x = (dim.width-w)/2;
    y = (dim.height-h)/2;
    setLocation(x,y);

    /*===================================
    * Button Even Listener
    *===================================
    */
    blogin.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    bloginActionPerformed(evt);
    }
    });
    bkeluar.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    bkeluarActionPerformed(evt);
    }
    });
    }

    private void bloginActionPerformed(ActionEvent evt) {
    if (evt.getSource() == blogin) {
    try {
    // parameter
    String parameterNama = txtNama.getText();

    //load report location
    FileInputStream fis = new FileInputStream(“E:\\report\\Iseng.jrxml”);
    BufferedInputStream bufferedInputStream = new BufferedInputStream(fis);

    //set parameters
    Map map = new HashMap();
    map.put(“nama1″, parameterNama);

    Class.forName(“com.mysql.jdbc.Driver”);
    Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost/test”, “root”, “”);

    //compile report
    JasperReport jasperReport = (JasperReport) JasperCompileManager.compileReport(bufferedInputStream);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, connection);

    //close connection
    connection.close();

    //view report to UI
    JasperViewer.viewReport(jasperPrint, true);

    } catch (Exception ex) {
    // logger.error(ex.getMessage(), ex);
    }

    }

    }

    private void bkeluarActionPerformed(ActionEvent evt) {
    System.exit(0);
    }

    public static void main(String args[]) {

    FormLogin tb = new FormLogin(owner);
    tb.setVisible(true);

    }

    }

    [Reply]

  24. ari

    mas bro maap nih ganggu saya mau tanya ko saya bikin jar ko action nya ga muncul yah pada hal dah di coba bisa tolong dnk kasih tau biar MULUS….
    ini code nya…

    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import java.sql.Connection;
    import java.sql.SQLException;

    import java.util.Map;
    import java.util.HashMap;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.view.JasperViewer;
    import java.io.FileInputStream;
    import java.io.BufferedInputStream;
    public class FormLogin extends JFrame{

    private JPanel jPanel1 = new JPanel();

    private JButton blogin = new JButton();
    private JButton bkeluar = new JButton();
    private JTextField txtNama;

    public Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    private int w,h,x,y;
    private int L,T,LX,TY;

    private static JFrame owner;

    public FormLogin(JFrame owner) {

    super();

    jPanel1.setLayout(null);

    //———————————-

    txtNama = new JTextField();
    txtNama.setBounds(110,20,200,25);
    jPanel1.add(txtNama);

    blogin.setText(“LOGIN”);
    blogin.setForeground(Color.blue);
    blogin.setBounds(20,150,120,25);
    jPanel1.add(blogin);

    bkeluar.setText(“BATAL”);
    bkeluar.setForeground(Color.blue);
    bkeluar.setBounds(180,150,120,25);
    jPanel1.add(bkeluar);

    add(jPanel1);
    setTitle(“LOGIN”);
    setResizable(false);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setSize(350,250);

    w = getSize().width;
    h = getSize().height;

    x = (dim.width-w)/2;
    y = (dim.height-h)/2;
    setLocation(x,y);

    /*===================================
    * Button Even Listener
    *===================================
    */
    blogin.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    bloginActionPerformed(evt);
    }
    });
    bkeluar.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    bkeluarActionPerformed(evt);
    }
    });
    }

    private void bloginActionPerformed(ActionEvent evt) {
    if (evt.getSource() == blogin) {
    try {
    // parameter
    String parameterNama = txtNama.getText();

    //load report location
    FileInputStream fis = new FileInputStream(“E:\\report\\Iseng.jrxml”);
    BufferedInputStream bufferedInputStream = new BufferedInputStream(fis);

    //set parameters
    Map map = new HashMap();
    map.put(“nama1″, parameterNama);

    Class.forName(“com.mysql.jdbc.Driver”);
    Connection connection = DriverManager.getConnection(“jdbc:mysql://localhost/test”, “root”, “”);

    //compile report
    JasperReport jasperReport = (JasperReport) JasperCompileManager.compileReport(bufferedInputStream);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, connection);

    //close connection
    connection.close();

    //view report to UI
    JasperViewer.viewReport(jasperPrint, true);

    } catch (Exception ex) {
    // logger.error(ex.getMessage(), ex);
    }

    }

    }

    private void bkeluarActionPerformed(ActionEvent evt) {
    System.exit(0);
    }

    public static void main(String args[]) {

    FormLogin tb = new FormLogin(owner);
    tb.setVisible(true);

    }

    }

    mohon di coba ya mungkin ada yang kurang… trima kasih….

    [Reply]

    Kus Andriadi Reply:

    sebelum dibikin jar jalan gak?

    kalo jalan ya salah pas di path mau ngeload report nya….

    kalo dijadiin jar emang suka gitu, caranya agak beda…

    [Reply]

  25. ari

    mas mau tanya nih bikin jasper report tapi ga meload dari database… jadi dari textarea dan textfield yang ga saya save ke data base… ??? contohnya kaya nota pembayaran kasir.. tau kan mas … tolong donk… makasih…

    [Reply]

  26. Heni

    saya mau tanya,
    kalo pesan error nya :
    java.lang.NullPointerException itu kenapa ya?

    [Reply]

    Kus Andriadi Reply:

    ada object yang belum di inisialisasi….:)

    [Reply]

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Get Adobe Flash playerPlugin by wpburn.com wordpress themes