zhu894532094 发表于 2017-2-28 10:55:13

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

  背景说明
  目前插件开发调试非常麻烦,需要修改代码,编译出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不会使用,可自行百度。
页: [1]
查看完整版本: 在开发过程中调试报表插件详细教程