Jasper Report不在jdesktoppane中显示

时间:2014-09-05 14:47:58

标签: java jasper-reports

我是java的新手。我试图在Jdesktoppane中显示jasper报告,但报告不显示在jdesktoppane.I不能得到任何错误或异常运行程序如何解决这个问题.. 任何人都帮我在jdesktoppane中显示报告

private void Report()  {

 try
   {  

      JasperDesignjd=JRXmlLoader.load("F:\\NetBeans\\Project\\Chit\\src\\Report\\report1.jrxml");
      JasperReport jr=JasperCompileManager.compileReport(jd);  
      JasperPrint  jp=JasperFillManager.fillReport(jr, null,chit1.conn);
      JRViewer viewer = new JRViewer(jp); 
      jPanel1.add(viewer); 
      jPanel1.setVisible(true);
      jDesktopPane.add(viewer); 

   }  
 catch (JRException ex) 
    {
        System.out.println(ex);

    }

}

谢谢..

2 个答案:

答案 0 :(得分:0)

您必须向JDesktopPane添加JInternalFrame(我假设为JPanel1)。 我添加了一个JScrollPane来提供滚动。不确定是否需要。

JInternalFrame frame = new JInternalFrame("Report", true, true, true, true);
frame.add(new ScrollPane(viewer));
try {
    frame.setSelected(true);
 } catch (java.beans.PropertyVetoException e) {
 }

我认为其余的(JFrame)没问题。

答案 1 :(得分:0)

我得到了显示jasper Report

的步骤

创建Jinternal Frame添加以下代码,然后添加到JdesktopPane 这是代码:

private void Report() { 

    try  { 
        Connection dataSource = chit1.conn; 
        JasperDesign jd=JRXmlLoader.load("F:\\Net Beans\\Project\\Chit\\src\\Report\\report1.jrxml"); 
        JasperReport report=JasperCompileManager.compileReport(jd); 
        JasperPrint jasperPrint = JasperFillManager.fillReport(report, null, dataSource); 
        JRViewer viewer = new JRViewer(jasperPrint); 
        Container c= getContentPane(); 
        c.setLayout(new BorderLayout()); 
        c.add(viewer); 
       }  catch (JRException ex)  { 
       System.out.println(ex); 
       Logger.getLogger(MemberReport.class.getName()).log(Level.SEVERE, null, ex); 
     } 
}