• 在开发过程中调试报表插件详细教程


    背景说明

    目前插件开发调试非常麻烦,需要修改代码,编译出class,重新打插件包。然后删除以前的,安装最新的。过程繁杂,而且不能调试,十分不方便。那么我就来教会大家如何可以调试插件。

     

    需要工具:eclipse,finereport报表工具

     

    具体说明

    1、 新建工程

    新建java工程,在此不赘述

     

     

    2、 添加依赖,启动设计器

    若要能启动设计器需要依赖的jar包很多。具体如下:

    A、 jetty相关的jar包

     

    B、 设计器相关的jar包

     

     

    C、 其他相关的jar包

    选中如图所示jar包

    3、 添加main函数

    主函数代码为:

    import com.fr.start.Designer;

    public class MainFrame {

             publicstatic void main(String[] args) {

                       newDesigner(args);

             }

    }

    4、 启动设计器

    效果如下:

    注:会有一些报错,不用关心,这个是缺少某些插件所依赖的包导致的

    比如如上图,就是缺少文本框身份证验证插件导致的问题。如果你有强迫症,可以把插件相关的包也全都添加进来。

    5、 开发插件

    将代码添加进工程,

    ActualLocaleFinder.java  的代码为:

    package com.fr.plugin.designer;


    import com.fr.stable.fun.impl.AbstractLocaleFinder;


    public class ActualLocaleFinder extends AbstractLocaleFinder {


        @Override
        /**
         * 返回路径
         * @return 同上
         */
        public String find() {
            return "com/fr/plugin/designer/resource/locale/search";
        }
    }

    SearchTemplateAction.java 的代码为:

    package com.fr.plugin.designer;


    import com.fr.base.BaseUtils;
    import com.fr.design.actions.UpdateAction;
    import com.fr.general.Inter;


    import javax.swing.*;
    import java.awt.event.ActionEvent;


    /**
     * Created by Administrator on 2015/7/22 0022.
     */
    public class SearchTemplateAction extends UpdateAction{


        public SearchTemplateAction(){
            //国际化文件配置在search.properties中
            this.setName(Inter.getLocText("FR-Designer_Template-Tree-Search"));
            this.setSmallIcon(BaseUtils.readIcon("/com/fr/plugin/designer/resource/search.png"));


        }


        @Override
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(null, "This is Search Demo");
            //TemplateFileTree继承JTree, 可通过setSelectedTemplatePath选中模板, 可以用遍历JTree的方法来遍历该tree.
            //TemplateFileTree tree = TemplateTreePane.getInstance().getTemplateFileTree();


        }
    }

    如图中代码,设计器效果如下图:

    也可以进行debug调试,比如在代码中加断点。

    若java debug不会使用,可自行百度。

  • 相关阅读:
    Extjs4循序渐进(二)——Ext的界面(容器和布局)
    Extjs4循序渐进(一)——开始Ext
    重写jQuery的$字符
    WinForm窗口基础配置
    C# 遍历文件夹图片并用ListView控件展示
    Extjs4循序渐进(三)——表单及表单控件详解一(表单布局和基础控件 Text,TextArea,Number,Checkbox,Radio,Date)
    【ezj】一款国产JavaScript 框架,使用体验
    使用Java语言实现几种常见的排序算法
    http://www4.it168.com/jtzt/shenlan/tech/netdesignp/
    写在前面的话
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13326149.html
Copyright © 2020-2023  润新知