⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myjasperviewerjnlp.java

📁 报表,关于ireport报表的一些源码(转)
💻 JAVA
字号:
package cn.edu.hlju.oa.kygl.print;

import net.sf.jasperreports.engine.*;
import cn.edu.hlju.oa.kygl.db.DBConnection;
import java.util.*;
import net.sf.jasperreports.view.JasperViewer;
import java.sql.Connection;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import net.sf.jasperreports.view.JRViewer;
import net.sf.jasperreports.engine.util.JRLoader;
import java.text.SimpleDateFormat;

public class MyJasperViewerJNLP extends JFrame {
    private JPanel contentPane;
    private BorderLayout borderLayout1 = new BorderLayout();

    public MyJasperViewerJNLP(String[] args) {

        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
            jbInit(args);
        } catch (Exception e) {
            StackTraceElement[] msg = e.getStackTrace();
            StringBuffer sb = new StringBuffer();
            for( int i = 0; i < msg.length; i++)
                sb.append(msg[i].getLineNumber()+":"+msg[i].getClassName()+":"+msg[i].getMethodName()+"\n");

            JOptionPane.showMessageDialog(this,new JTextArea(e.getMessage()+"\n"+sb.toString()));
            e.printStackTrace();
        }
    }

    //Component initialization
    private void jbInit(String[] args) throws Exception {
        String reportName = "";
        contentPane = (JPanel)this.getContentPane();
        contentPane.setLayout(borderLayout1);
        this.setSize(new Dimension(640, 480));
        this.setTitle("XueDi");
        //Set JDBC driver: note: by runing the jasper in web application.
        //The ReportViewer at client must access to the Mysql Server
        //Class.forName("org.gjt.mm.mysql.Driver").newInstance();
        //Connection con1 = DriverManager.getConnection("jdbc:mysql://MYSERVER:3306/MyDB", "User", "Pwd");
        //From client, get the report over HTTP, the arg passed over jnlp by param 0, arg 1 is report name to request.
        Connection conn;
        conn = DBConnection.getConnection();

        java.util.Map parameters = new java.util.HashMap();
        java.net.URL u = new java.net.URL(args[0] + "/report/" + args[1]);
        this.getContentPane().add(new JTextArea(u.toString()+"\n"+conn.toString()),BorderLayout.CENTER);
        JasperReport template = (JasperReport)JRLoader.loadObject(u.openStream());
        //JasperReport template = JasperManager.loadReport(u.openStream());

        JasperPrint jasperPrint = JasperFillManager.fillReport(
                    template,
                    parameters,
                    conn);

        //java.net.URL u = new java.net.URL(args[0] + "report/" + args[1]);
        //JasperReport template = JasperManager.loadReport(u.openStream());
        //Prepare parameters to pass over the Jasper
        //java.util.Map parameters = new java.util.HashMap();
        //We passed param of arg 3 as passed from jnlp.
        //parameters.put("SOMEVAL", args[2]);
        //JasperPrint report = JasperManager.fillReport(template, parameters, con1);
        //Start the viewer
        JRViewer jrv = new JRViewer(jasperPrint);
        contentPane.add(jrv,BorderLayout.SOUTH);
        contentPane.setPreferredSize(new Dimension(640, 480));
    }

    //Overridden so we can exit when window is closed
    protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);
        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
            System.exit(0);
        }
    }

    public static void main(String[] args) {
        try {
            MyJasperViewerJNLP frame = new  MyJasperViewerJNLP(args);
            frame.validate();
            frame.setLocation(100, 100);
            frame.setVisible(true);
            /*SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD");
            Date newDate = format.parse("2226-11-02");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(newDate);
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            System.out.println("year="+year);*/
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null,new JTextArea(ex.getMessage()));
            ex.printStackTrace();
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -