在Eclipse中用Java实现百灵报表(BIRT)的事件处理
8. 当系统处理完成后,报表被显示出来。这是一份商品销售报告,显示的是每类商品的季度销售额以及累计情况。接下来,我们尝试用 Java
创建一个事件响应处理类,把每季度销售额在10万美元以上的数据用红色标示出来。
创建 Java 类
按照如下步骤,用 Java 创建百灵报表(BIRT)的事件响应处理程序。
图 16. 创建 Java 类
1. 在主菜单中选择 File -> New -> Class 菜单项,打开 New Java Class
对话框。
图 17. New Java Class 对话框
2. 在 New Java Class 对话框的 Name 处输入 DataItemEventHandler
,作为该事件响应处理类的名字。单击 Browse…… 按钮,打开 Superclass Selection 对话框。选择或直接输入
"org.eclipse.birt.report.engine.api.script.eventadapter.DataItemEventAdapter"
作为父类。
3. 单击 Finish 按钮,一个名称为 DataItemEventHandler.java
的文件被创建出来,在这个文件里输入如下代码:
清单 1. 报表事件响应处理类
import
org.eclipse.birt.report.engine.api.script.IReportContext;
import
org.eclipse.birt.report.engine.api.script.eventadapter.DataItemEventAdapter;
import
org.eclipse.birt.report.engine.api.script.instance.IDataItemInstance;
public
class DataItemEventHandler extends DataItemEventAdapter {
public void
onRender(IDataItemInstance data, IReportContext reportContext)
{
super.onRender(data, reportContext);
if (((Double)
data.getValue()).doubleValue() > 100000)
{
data.getStyle().setColor("red");
}
}
}
在上面这段代码中,我们重写了 DataItemEventHandler 类的 onRender 方法。该方法带有两个参数,其中 data
就是当前我们要操作的数据实例,在这里我们通过条件判断来把大于10万美元的数据设置为红色。另外一个参数 reportContext
则是一个全局的上下文对象,利用这个上下文对象,可以在不同的事件响应处理类中传递信息。
4. 确认无误后存盘,报表事件响应处理类创建完成。
Java 类与报表关联
按照如下步骤,将创建好的 Java 事件响应处理类和样例报表关联起来。
相关文档:
先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
private Object data; //元素本身
private NodeBean next; //下一个节点
&n ......
关于Java中各种修饰符与访问修饰符的说明
类:
访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称
(访问修饰符与修饰符的位置可以互换)
访问修饰符
名称
说明
备注
public
可以被所有类访问(使用)
public类必须定义在和类名相同的同名文件中
package
可以被同一个包中的类访� ......
通常情况下,我们在编写java文件时,会有引用到自已定义的一些类,如果按通常的javac *.java的形式来编译会出现找不到符号的错误。
以下提供了两种方法,以供参考
假如在d:\web\wsh下有a.java和b.java两个文件,在b.java文件中有引用了a.java。下面是编译的方法
方法一:
进入d:\web\wsh下: javac a.java
然后退出wsh� ......
新建java项目,需要建立如图所示的包结构(这图是后面补上的,所以里面有建好的类):
点击项目,右键选择-》属性-》添加自定义库:
坚持以最少包原则,例如:
完成如下图所示:
项目结构大致如下:
对BookService� ......
今天是写第一篇传智播客教程日志,也是我看
JavaScript
视频的第一天。
先说缘由吧。大三还有三个月就要结束了,可我还没有感觉到自己能够有足够的能力找到份好工作,大学期间学到的都是些皮毛和理论,我不想到了找工作的时候,面试官问我会
XXX
吗?我说不会。因此我想通过培训增加自己的竞争力。我报了本地的一家
I ......