0

我是使用 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 中。

4

2 回答 2

1

这对我有用

 JRViewer vw=new JRViewer(jp); 
       jPanel13.setLayout(new BorderLayout());
       jPanel13.repaint();
       jPanel13.add(vw);
       jPanel13.revalidate();
于 2017-10-14T06:26:52.110 回答
-1

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

编辑:JRViewer 扩展了 JPanel,因此您的问题归结为简单地在另一个 JPanel 中显示一个 JPanel。同样,让外部 JPanel 使用 BorderLayout 或其他合理的布局管理器,然后简单地将 JRViewer 实例添加到它,然后在容器 JPanel 上调用repaint()和。revalidate()您还需要阅读有关使用 JPanel 和布局管理器的 Swing 教程,因为这一切都在那里得到了很好的解释。

于 2013-04-26T01:54:03.070 回答