2

jasper レポートを使用して小さなレポートを作成し、以下のように jasper ビューアーを使用してプレビューしました。

con = JDBCConnectionPool.getInstance().checkOut();
            String fileName = getClass().getClassLoader().getResource("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml").getFile();
            JasperReport report = JasperCompileManager.compileReport(fileName);
            JasperPrint print = JasperFillManager.fillReport(report, null, con);
            JasperViewer viewer = new JasperViewer(print);   
            viewer.setVisible(true);

しかし、このレポートを JPanel で表示する必要があるので、次のようにしてみました。

JasperViewer.setDefaultLookAndFeelDecorated(true);
            JRViewer jrv = new JRViewer(print);
            jrv.setPreferredSize(new Dimension(getSize()));
            JScrollPane reportScroll = new JScrollPane(jrv);
           panel1.add(reportScroll);

しかし、レポートが期待どおりに表示されません。ジャスパー プレビューを JPanel に追加する正しい方法を教えてください。

4

2 に答える 2

3

JasperViewer は JFrame を拡張し、JFrame を JPanel に追加したくない。おそらく、JasperViewer の contentPane を JPanel に追加できます。私がコメントで議論した他の問題はまだ未解決のままです:

panel1 が使用しているレイアウトマネージャは何ですか? GUIが表示された後、JScrollPaneをJPanelに追加していますか? もしそうなら、追加後に JPanel で revalidate() と repaint() を呼び出しますか?

于 2012-05-18T02:17:23.423 に答える