gpt4 book ai didi

java - 贾斯珀报告 : JRViewer causes exception to be added in container in JInternalFrame

转载 作者:行者123 更新时间:2023-12-01 09:47:06 25 4
gpt4 key购买 nike

我创建了一个 swing 应用程序。我用 iReport 5.6.0 创建了一个报告。现在,每当我调用报告并尝试在 JInternalFrame 中添加报告时,它都会引发异常。我在下面分享我的代码。

报表查看器

public class MyReportViewer extends JInternalFrame {
public MyReportViewer(String fileName){
this(fileName, null);
}

public MyReportViewer(String fileName, HashMap parameter) {
super("View Report",true,true,true,true);
try {
DB_Con db = new DB_Con();

JasperPrint print = JasperFillManager.fillReport(fileName,parameter,db.con);
java.util.List list = print.getPages();

if(!(list.isEmpty())) {
JRViewer viewer = new JRViewer(print);

Container contentPane = super.getContentPane();
contentPane.removeAll();
contentPane.add(viewer);

int sW =(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int sH = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()-50;

setBounds(0,0,sW,sH);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
} else {
BOptionPane.showMessageDialog(null,
BOptionPane.REPORT_MESSAGE,
BOptionPane.ERROR_TITLE,
BOptionPane.ERROR_ICON);
}
}catch(JRException jre){
jre.printStackTrace();
}
}
}

主机

public class frmMenu extends JFrame {
public frmMenu(){
initComponents();
}

JDesktopPane dPane = new JDesktopPane();

//---- itemAllSizeInfo ----
itemAllSizeInfo.setText("All Size List");
itemAllSizeInfo.setFont(new Font("Rupali", Font.BOLD, 14));
itemAllSizeInfo.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MyReportViewer sizeInfo = new MyReportViewer(".\\Report\\All_Size_List.jasper");
dPane.add(sizeInfo);
sizeInfo.setVisible(true);
}
});

异常(exception):

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256) at net.sf.jasperreports.view.JRViewer$23.getRenderersCache(JRViewer.java:2256)

任何人都可以帮忙找出解决这个问题的方法吗? 我使用的是 iReport 5.6.0 和 JDK 1.7.0 版本

最佳答案

这是一个 bug在贾斯珀。只需使用最新版本即可。

关于java - 贾斯珀报告 : JRViewer causes exception to be added in container in JInternalFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37899356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com