zoukankan      html  css  js  c++  java
  • 在开发过程中调试报表插件详细教程

    背景说明

    目前插件开发调试非常麻烦,需要修改代码,编译出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不会使用,可自行百度。




  • 相关阅读:
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
    计算机网络之数据链路层的基本概念和功能概述
    物理层设备(中继器、集线器)
    计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
    计算机网络之编码与调制
    0953. Verifying an Alien Dictionary (E)
    1704. Determine if String Halves Are Alike (E)
    1551. Minimum Operations to Make Array Equal (M)
    0775. Global and Local Inversions (M)
    0622. Design Circular Queue (M)
  • 原文地址:https://www.cnblogs.com/liang123/p/6325086.html
Copyright © 2011-2022 走看看