中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      怎么用JFreeReport做報表實踐

      時間:2024-08-19 05:57:00 JAVA認證 我要投稿
      • 相關推薦

      怎么用JFreeReport做報表實踐

        準備工作:

        下載jfreeReport0.8.7 地址:http://www.jfree.org/jfreereport/index.php

        Java認證:用JFreeReport做報表實踐,使用JFreeReport生成報表通常需要以下三個基本步驟:

        A.生成可通過TableModel接口訪問的數據,如本例中的createData方法完成的功能。

        B.生成一個JFreeReport實例,他定義了我們如何格式化顯示數據,如本例中的createReportDefinition方法完成的功能。

        C.將數據和JFreeReport實例連接起來,并且將該JFreeReport實例傳給PreviewDialog的一個實例顯示給用戶。

        下面開始:

        1.新建一個WEB工程,在WebRoot\lib中import 如下jar文件:jcommon-1.0.1.jar jfreereport-0.8.7.jar jfreereport-demo-0.8.7.jar jfreereport-servlet-demo-0.8.7.jar

        (可在jfreereport包中解壓得到)

        2.寫一個Demo.java 加入到工程的src包中。 內容如下:

        import java.awt.Color;

        import java.awt.geom.Point2D;

        import javax.swing.table.DefaultTableModel;

        import javax.swing.table.TableModel;

        import org.jfree.report.ElementAlignment;

        import org.jfree.report.JFreeReport;

        import org.jfree.report.JFreeReportBoot;

        import org.jfree.report.ReportProcessingException;

        import org.jfree.report.demo.helper.DefaultCloseHandler;

        import org.jfree.report.demo.helper.DemoHandler;

        import org.jfree.report.demo.helper.PreviewHandler;

        import org.jfree.report.elementfactory.TextFieldElementFactory;

        import org.jfree.report.modules.gui.base.PreviewDialog;

        import org.jfree.ui.FloatDimension;

        import org.jfree.util.Log;

        public class Demo implements DemoHandler

        {

        private class HelloWorldPreviewHandler implements PreviewHandler

        {

        public HelloWorldPreviewHandler()

        {

        }

        public void attemptPreview()

        {

        executeReport();

        }

        }

        public Demo (){

        }

        protected void executeReport ()

        {

        final TableModel data = createData();

        final JFreeReport report = createReportDefinition();

        report.setData(data);

        try

        {

        final PreviewDialog preview = new PreviewDialog(report);

        preview.addWindowListener(new DefaultCloseHandler());

        preview.pack();

        preview.setVisible(true);

        }

        catch (ReportProcessingException e)

        {

        Log.error(“Failed to generate report ”, e);

        }

        }

        private TableModel createData ()

        {

        final Object[] columnNames = new String[]{“Column1”, “Column2”};

        final DefaultTableModel result = new DefaultTableModel(columnNames, 101);

        for (int i=1;i《101;i++){

        result.setValueAt(“用繁體字寫幾個看看\n”, i, 0);

        result.setValueAt(“簡體中文輸出第”+i+“次”, i, 1);

        }

        return result;

        }

        private JFreeReport createReportDefinition ()

        {

        final JFreeReport report = new JFreeReport();

        report.setName(getDescription());

        TextFieldElementFactory factory = new TextFieldElementFactory();

        factory.setName(“T1”);

        factory.setAbsolutePosition(new Point2D.Float(0, 0));

        factory.setMinimumSize(new FloatDimension(150, 12));

        factory.setColor(Color.black);

        factory.setHorizontalAlignment(ElementAlignment.RIGHT);

        factory.setVerticalAlignment(ElementAlignment.MIDDLE);

        factory.setNullString(“-”);

        factory.setFieldname(“Column1”);

        report.getItemBand()。addElement(factory.createElement());

        factory = new TextFieldElementFactory();

        factory.setName(“T2”);

        factory.setAbsolutePosition(new Point2D.Float(200, 0));

        factory.setMinimumSize(new FloatDimension(150, 12));

        factory.setColor(Color.black);

        factory.setHorizontalAlignment(ElementAlignment.LEFT);

        factory.setVerticalAlignment(ElementAlignment.MIDDLE);

        factory.setNullString(“-”);

        factory.setFieldname(“Column2”);

        report.getItemBand()。addElement(factory.createElement());

        return report;

        }

        protected String getDescription ()

        {

        return “A Very Simple Report”;

        }

        public String getDemoName()

        {

        return “Hello World Demo (External)”;

        }

        public PreviewHandler getPreviewHandler()

        {

        return new HelloWorldPreviewHandler();

        }

        public static void main (final String[] args)

        {

        JFreeReportBoot.getInstance()。start();

        new Demo()。executeReport();

        }

        }

        3.在eclipse 中運行(Shift+Alt+X J)運行出來了。 仍有錯誤或警告。下面來消除它們。

        4.Exception in thread “export-worker——1” java.lang.NoClassDefFoundError: org/jfree/fonts/registry/FontRecord === 解決辦法是 import libfonts-0.1.4.jar

        5.WARN: Unable to initialize the module misc-bsf

        org.jfree.base.modules.ModuleInitializeException: Unable to load the bean scripting framework manager class. This class is required to execute the BSFExpressions. === 解決辦法是 import bsf-2.3.0.jar

        6.WARN: Unable to initialize the module misc-beanshellorg.jfree.base.modules.ModuleInitializeException: Unable to load the bean shell interpreter class. This class is required to execute the BeanShellExpressions. === 解決辦法是 import bsh-1.3.0.jar

        7.WARN: Unable to load module classes for parser-simple:org/jfree/xml/parser/AbstractXmlReadHandler

        WARN:Unable to load module classes for parser-ext:org/jfree/xml/parser/AbstractXmlReadHandler

        === 解決辦法是 import jcommon-xml-1.0.1.jar

        8.最終出現:

        INFO:Registering fonts for the iText library; using a cached font registry.

        INFO:Completed font registration.

        INFO:setReport(……): started pagination .……

        OK,一切順利完成。

        9.總之最后的WebRoot\lib中一共引入了

        bsf-2.3.0.jar bsh-1.3.0.jar itext-1.3.6.jar jcommon-1.0.1.jar jfreereport-0.8.7.jar jfreereport-demo-0.8.7.jar jfreereport-servlet-demo-0.8.7.jar

        libfonts-0.1.4.jar poi-3.0-alpha1-20050704.jar

        這些JAR文件。

      【怎么用JFreeReport做報表實踐】相關文章:

      hr工作報表怎么做03-08

      怎么做冰淇淋03-12

      眉筆怎么用03-29

      面膜怎么用02-27

      丹麥面包怎么做02-14

      香蕉奶昔怎么做03-13

      意大利面怎么做03-14

      酸奶蛋糕怎么做03-12

      夏日冷飲怎么做03-11

      主站蜘蛛池模板: 国产久热精品热线av| 中文字幕天天躁日日躁狠狠| 亚洲av成人一区二区三区网址| 国产香蕉一区二区三区| 久久一区二区三区不卡| 久久中文字幕av第二页| 91久久国产福利自产拍| 高雄县| 男女性搞视频网站免费| 亚洲一级av大片在线观看| 平邑县| 最新日韩精品视频在线| 婷婷五月亚洲综合图区| 国产后入内射在线观看| 庆安县| 汶川县| 亚洲av永久青草无码精品| 中文字幕av久久激情亚洲精品| 97久久综合区小说区图片区| 四虎无码精品a∨在线观看| 峨眉山市| 91久久国产综合精品| 亚洲中文字幕女同一区二区三区| 丰满少妇又紧又爽视频| 亚洲精品二区三区在线观看 | av黄片免费在线观看| 久久精品国产热久久精品国产亚洲| 丽江市| 全州县| 万源市| 江陵县| 综艺| 国产美女久久久亚洲综合| 无码视频一区=区| 特级毛片a级毛片在线播放www| 桐乡市| 蜜桃在线播放免费一区二区三区| 久久婷婷国产精品简爱av| 亚洲国产一区二区在线| 国产品精品久久久久中文| 国产黄片一区视频在线观看|