2014-09-05 1 views
0

java를 처음 사용했습니다. 나는 JDesktopPane에 재 스퍼 보고서를 표시하려하지만 보고서는 JDesktopPane에Jasper Report가 jdesktoppane에 표시되지 않습니다.

개인 무효에 보고서를 표시하는 데 도움이 어느 하나 .. 어떻게이 문제를 풀기가하는 프로그램을 실행하는 동안 오류 또는 예외를 얻을 어차피 jdesktoppane.I에 표시되지 않습니다 보고서() {

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

당신은 (나는 가정 JPanel1)를 JDesktopPane에에 JInternalFrame을 추가해야합니다. 스크롤을 제공하기 위해 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); 
    } 
} 
관련 문제