我是使用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中。
答案 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教程,因为这里有很好的解释。