2012年10月18日 归档

BIRT报表的数据钻取功能简述

很多情况下,J2EE的应用需要一个配套搭建的报表来显示统计信息,BIRT就是一个很不错的免费报表系统,它的强大这里不再赘述了,这里仅仅为了记录一下钻取的基本操作。BIRT的钻取说白了就是网页上的超链接,点击链接会出现另一个页面而已,而需要注意的就是它可以以当前报表上的数据为查询条件进行查询,并在下一个页面中进行显示。

以告警种类历史趋势为例说明其步骤分为如下两步:

一、准备两张报表,当然两个报表某些地方是需要有关联关系的,你随便弄两张好不好使我不管了。
我准备了两张报表,1是告警种类的统计信息,其参数为别为起始时间与结束时间。2是统计信息的明细信息,其参数为超时间、结束时间及主机名称。两个报表是通过报表1的主机名及输入报表的起止时间为关联进行关联的。

二、为两张报表建立关联关系。 查看更多...

Java GUI编程中有关swing组件的阻塞

Swing API的设计目标是强大、灵活和易用。特别地,我们希望能让程序员们方便地建立新的Swing组件,不论是从头开始还是通过扩展我们所提供的一些组件。
出于这个目的,我们不要求Swing组件支持多线程访问。相反,我们向组件发送请求并在单一线程中执行请求。

单线程规则:Swing线程在同一时刻仅能被一个线程所访问。一般来说,这个线程是事件派发线程(event-dispatching thread)。
规则的例外:有些操作保证是线程安全的。
事件分发:如果你需要从事件处理(event-handling)或绘制代码以外的地方访问UI,那么你可以使用SwingUtilities类的invokeLater()或invokeAndWait()方法。
创建线程:如果你需要创建一个线程--比如用来处理一些耗费大量计算能力或受I/O能力限制的工作--你可以使用一个线程工具类如SwingWorker或Timer。 查看更多...