2014-09-05 105 views
0

我是新來的java。我試圖在JDesktopPane中顯示碧玉報告,但報告並沒有在jdesktoppane.I顯示,同時運行的程序如何解決售後服務這個問題不能得到任何錯誤或異常.. 任何一個可以幫助我的JDesktopPane賈斯珀報告不顯示在jdesktoppane

私人無效顯示報告報告(){

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); 

    } 

}

謝謝。

回答

0

你有一個JInternalFrame添加到JDesktopPane中(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)很好。

0

我的步驟顯示碧玉報告

創建Jinternal幀中添加以下代碼,然後添加到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); 
    } 
}