如何在JPanel中显示JasperReports Viewer?

时间:2013-04-26 01:51:26

标签: java swing jasper-reports

我是使用JasperReports的新手。在我的Swing应用程序中,我想在JPanel中显示JRViewer。我知道如何在JFrame中显示JRViewer,但我很难在JPanel中显示它。

任何人都可以帮助我吗?

我试过这段代码。

JRViewer jv = new JRViewer(jp);  
panel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
panel.setPreferredSize(new java.awt.Dimension(1000, 700));
panel.setLayout(new java.awt.BorderLayout());
panel.add(jv);
panel.repaint();
panel.revalidate();

没有错误,但报告没有出现在jpanel中。

2 个答案:

答案 0 :(得分:1)

这对我有用

 JRViewer vw=new JRViewer(jp); 
       jPanel13.setLayout(new BorderLayout());
       jPanel13.repaint();
       jPanel13.add(vw);
       jPanel13.revalidate();

答案 1 :(得分:-1)

JRViewer扩展了什么? JPanel使用什么布局管理器?确保它使用的东西可以扩展组件以填充它,例如BorderLayout。

编辑:JRViewer扩展了JPanel,所以你的问题归结为只是在另一个内部显示一个JPanel。再次,让外部JPanel使用BorderLayout或其他合理的布局管理器,然后只需将JRViewer实例添加到它,然后在容器JPanel上调用repaint()revalidate()。您还需要阅读关于使用JPanels和布局管理器的Swing教程,因为这里有很好的解释。