Hi! Arvind, First you create a frame with button on it: public class MyReport extends JFrame{ public void MyReport(){ JPanel panel; JButton button; MyReport(){ setSize(300, 100); panel=new JPanel(); button=new JButton("Report"); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ if(ae.getSource instanceof JButton){ if(ae.getActionCommand().equals("Report")){ showReport(); } } } }); panel.add(button); getContentPane().add(panel); pack(); setVisible(true); } public void showReport(){ JasperDesign jasperDesign = JRXmlLoader.load(JrxmlFilePath); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); java.sql.Connection con=//write your connection here; print= JasperFillManager.fillReport(jasperReport,hm,con); //Now export this to required output.There are many exporter-Pdf exporter,htmlexporter,csvexporter or simply jasper viewer.For ex:I am using PdfExporter JRPdfExporter exporter=new JRPdfExporter(); //set the output file parameter and jasper print parameter exporter.setParameter(....); exporter.exportReport(); //generates the pdf file that you mentioned in export parameter ; }