我正在尝试从我的bean类中的变量中获取值到 iReport (使用JavaBean作为datasoure)。我有一个bean类,它在构造函数中调用一个loadReceipt()方法 - 它从用户保存的.dat文件中加载数据。然后我在bean类中有其他方法,它们使用来自loadReceipt()的数据来计算数字并将它们保存为双变量。
每个变量都有一个getMethod,我在工厂类中调用它并添加到 iReport 使用的JavaBean集合中。
但是我的问题是,当我将字段拖到我的PDF模板并在Netbeans中预览时,我得到了bean类所需的.dat文件的“找不到文件”错误,因此字段始终为0.0。
以下是我的bean类的摘录:
public class Calculations implements Serializable {
//declare data members
private double amt[] = new double [100];
private String cat[] = new String [100];
public double bankIntReceived;
private String category;
private ArrayList <Receipts> rec = new ArrayList<Receipts>();
public Calculations(){
rec = new ArrayList<Receipts>();
loadReceipts();
category = "";
bankIntReceived = calcReceipts("Bank Interest Received");
}
public double getBankIntReceived() {
return bankIntReceived;
}
public void setBankIntReceived(double bankIntReceived) {
this.bankIntReceived = bankIntReceived;
}
我的工厂类:
public class BeanFactory implements Serializable {
//collection for javabeans
public static Collection getCalcs() {
Vector calculations = new Vector();
try {
Calculations calc = new Calculations();
calc.getBankIntReceived();
calculations.add(calc);
} catch(Exception ex) {
System.out.println(ex);
}
return calculations;
}
}
bankIntReceived将始终显示0.0。如果我手动将其设置为不同的图形,它将显示,因此加载.dat文件时出现问题。
有谁知道为什么会这样,以及我如何才能加载.dat文件?
任何帮助真的很感激!在上周,我一直在试图解决这个问题。请原谅代码中的任何混乱我是java的初学者。真的很感激一些帮助!
答案 0 :(得分:0)
我明白了。程序未运行时,文件将不会在预览下加载。一旦我通过Jasper将PDF添加到程序中并运行它,数字就会出现:)