在开发过程中调试报表插件详细教程
2015-07-29 10:42
381 查看
背景说明
目前插件开发调试非常麻烦,需要修改代码,编译出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不会使用,可自行百度。
目前插件开发调试非常麻烦,需要修改代码,编译出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不会使用,可自行百度。
相关文章推荐
- mysql实战之 批量update
- IOS XMPP引入时产生错误信息 “libxml/tree.h no such file or directory”
- FCC 新规可能禁止在 WiFi 路由器安装 OpenWRT
- SiteMesh在JSP中的页面装饰
- Rational Team Concert 的使用
- POJ 1276 Cash Machine 最多机器
- hdu 1010 Tempter of the Bone
- 开发服务器端时的框架选择
- PostgreSQL Concurrency with MVCC
- Foundation Framework 基本数据封装 NSNumber、NSValue、NSData
- 多线程、多任务管理 简单demo
- Create pdf
- CentOS 6.5_x64安装Oracle 11g R2 亲测
- 简单实用的 Ubuntu 快捷键
- 在开发过程中调试报表插件详细教程
- printf中浮点数格式化输出
- 分布式文件系统试用比较
- 如何成为受市场欢迎的Android开发
- kettle各组件说明
- ORACLE索引详解