【问题标题】:Load JasperReport jrxml to JFrame将 JasperReport jrxml 加载到 JFrame
【发布时间】:2011-11-13 11:27:34
【问题描述】:

如何在JFrame 中查看我的 jrxml 文件?

我有以下java代码:

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.swing.JRViewer;


public class Test extends JFrame {

    private Connection conn = null; // database connection

    public Test() {

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection(
                    "jdbc:oracle:thin:@localhost:1521:XE",
                    "test", "test");
            JasperReport report = JasperCompileManager.compileReport("report1.jrxml");
            JasperPrint print = JasperFillManager.fillReport(report, null, conn);
            JRViewer viewer = new JRViewer(print);
            viewer.setOpaque(true);
            viewer.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                conn.close();
            } catch (Exception e) {
            }
        }

        setSize(500, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Test();
    }
}

但是,当我尝试运行它时,我收到以下错误消息:

log4j:WARN No appenders could be found for logger(net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).

log4j:WARN Please initialize the log4j system properly.

我的JFrame 出现了,但没有我想要嵌入的报告。

你认为我的错误是什么?

【问题讨论】:

    标签: java oracle swing jasper-reports


    【解决方案1】:

    JRViewerJPanel,所以不是..

    viewer.setVisible(true);
    

    放..

    // Add the viewer to the frame
    add(viewer);
    

    顺便说一句:

    } catch (Exception e) {
    }
    

    把它改成..

    } catch (Exception e) {
        e.printStackTrace();
    }
    

    【讨论】:

    • 感谢您的回答!现在我可以在我的 JFrame 中查看我的 JRView,但我仍然收到警告消息。你介意告诉我原因吗?
    猜你喜欢
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多