怎么用JFreeReport做报表实践
准备工作:
下载jfreeReport0.8.7 地址:
Java认证:用JFreeReport做报表实践,使用JFreeReport生成报表通常需要以下三个基本步骤:
A.生成可通过TableModel接口访问的数据,如本例中的createData方法完成的功能。
B.生成一个JFreeReport实例,他定义了我们如何格式化显示数据,如本例中的'createReportDefinition方法完成的功能。
C.将数据和JFreeReport实例连接起来,并且将该JFreeReport实例传给PreviewDialog的一个实例显示给用户。
下面开始:
1.新建一个WEB工程,在WebRootlib中import 如下jar文件:
(可在jfreereport包中解压得到)
2.写一个 加入到工程的src包中。 内容如下:
import r;
import t2D;
import ultTableModel;
import eModel;
import entAlignment;
import eReport;
import eReportBoot;
import rtProcessingException;
import ultCloseHandler;
import Handler;
import iewHandler;
import FieldElementFactory;
import iewDialog;
import tDimension;
import ;
public class Demo implements DemoHandler
{
private class HelloWorldPreviewHandler implements PreviewHandler
{
public HelloWorldPreviewHandler()
{
}
public void attemptPreview()
{
executeReport();
}
}
public Demo (){
}
protected void executeReport ()
{
final TableModel data = createData();
final JFreeReport report = createReportDefinition();
ata(data);
try
{
final PreviewDialog preview = new PreviewDialog(report);
indowListener(new DefaultCloseHandler());
();
isible(true);
}
catch (ReportProcessingException e)
{
r(“Failed to generate report ”, e);
}
}
private TableModel createData ()
{
final Object[] columnNames = new String[]{“Column1”, “Column2”};
final DefaultTableModel result = new DefaultTableModel(columnNames, 101);
for (int i=1;i《101;i++){
alueAt(“用繁體字寫幾個看看n”, i, 0);
alueAt(“简体中文输出第”+i+“次”, i, 1);
}
return result;
}
private JFreeReport createReportDefinition ()
{
final JFreeReport report = new JFreeReport();
ame(getDescription());
TextFieldElementFactory factory = new TextFieldElementFactory();
ame(“T1”);
bsolutePosition(new t(0, 0));
inimumSize(new FloatDimension(150, 12));
olor(k);
orizontalAlignment(T);
erticalAlignment(LE);
ullString(“-”);
ieldname(“Column1”);
temBand()。addElement(teElement());
factory = new TextFieldElementFactory();
ame(“T2”);
bsolutePosition(new t(200, 0));
inimumSize(new FloatDimension(150, 12));
olor(k);
orizontalAlignment();
erticalAlignment(LE);
ullString(“-”);
ieldname(“Column2”);
temBand()。addElement(teElement());
return report;
}
protected String getDescription ()
{
return “A Very Simple Report”;
}
public String getDemoName()
{
return “Hello World Demo (External)”;
}
public PreviewHandler getPreviewHandler()
{
return new HelloWorldPreviewHandler();
}
public static void main (final String[] args)
{
nstance()。start();
new Demo()。executeReport();
}
}
3.在eclipse 中运行(Shift+Alt+X J)运行出来了。 仍有错误或警告。下面来消除它们。
ption in thread “export-worker——1” assDefFoundError: org/jfree/fonts/registry/FontRecord === 解决办法是 import
: Unable to initialize the module misc-bsf
leInitializeException: Unable to load the bean scripting framework manager class. This class is required to execute the BSFExpressions. === 解决办法是 import
: Unable to initialize the module leInitializeException: Unable to load the bean shell interpreter class. This class is required to execute the BeanShellExpressions. === 解决办法是 import
: Unable to load module classes for parser-simple:org/jfree/xml/parser/AbstractXmlReadHandler
WARN:Unable to load module classes for parser-ext:org/jfree/xml/parser/AbstractXmlReadHandler
=== 解决办法是 import
8.最终出现:
INFO:Registering fonts for the iText library; using a cached font registry.
INFO:Completed font registration.
INFO:setReport(……): started pagination .……
OK,一切顺利完成。
9.总之最后的WebRootlib中一共引入了
这些JAR文件。
-
最全的java随机数生成算法
java随机数生成算法是怎么样的?下面yjbys小编为大家分享最新最全的java随机数生成算法,希望对大家学习有所帮助!一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法:1Stringpassword=rateString(10);源码如下:001package;002003importom;004005...
-
java非对称加密的源代码(rsa)
java非对称加密的源代码rsa有哪些基本知识,下面yjbys小编为大家一一讲解!鉴于rsa加密的重要性和相关源代码的匮乏,经过整理特此贴出。需要下载。importer;importrity.*;importublicKeySpec;importrivateKeySpec;importlidKeySpecException;importrivateKey;impor...
-
JAVA可移植性的应用
AVA可移植性广泛应用。软件可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。下面介绍JAVA的可移植性。一、JAVA作为一种编程语言:源代...
-
Java定时器代码的编写
在某些时候,我们需要实现这样的功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务.其实到Java中,实现起来是非常简单的,下面我们以每隔5秒钟打引一句"Helloworld"为例:importrTask;publicclassTimeTast...
相关文章
- A Letter to the Editor of a Newspaper英语四级作文
- Perfect Dream Harry Potter英语作文
- How to Prepare for IELTS高中英语作文
- under separate cover怎么样翻译
- Efforts Urged to Improve Womens Reproductive Health英语阅读
- TOEFL词汇:representative
- Unix更新freeBSDportTree的几种方法
- adobepremierepro视频怎么剪辑
- 英语作文Perfect Dream Harry Potter
- 到美国留学reference letter怎么写?