博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在开发过程中调试报表插件详细教程
阅读量:7218 次
发布时间:2019-06-29

本文共 1689 字,大约阅读时间需要 5 分钟。

原文:

背景说明

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

 

你可能感兴趣的文章
HDU 2444 The Accomodation of Students
查看>>
zabbix 源码编译安装
查看>>
:before和::before的区别
查看>>
P2261 [CQOI2007]余数求和
查看>>
浮点运算潜在的结果不一致问题
查看>>
完成端口(Completion Port)详解
查看>>
Luxand_FaceSDK_Documentation.pdf
查看>>
iOS下bound,center和frame
查看>>
sql 集合查询 数据更新操作语句
查看>>
REP 前缀
查看>>
js高级程序设计(六)面向对象
查看>>
C# JS URL 中文传参出现乱码的解决方法
查看>>
OO第三单元作业总结
查看>>
[译]从零开始成为数据科学家的9个步骤
查看>>
Python 10 MySQL数据库(一)
查看>>
Python 21 Flask(二)上下文管理详解
查看>>
C#+AE 调整TOCControl控件中图层的显示顺序
查看>>
Javascript闭包,比较好懂的一篇文章
查看>>
iOS 最新版 CocoaPods 的安装流程
查看>>
ArcGIS Server 内存占用相关
查看>>