Я пытаюсь получить значения из переменных в моем классе bean-компонента в iReport (используя JavaBean в качестве источника данных). У меня есть класс bean-компонента, который в своем конструкторе вызывает метод loadReceipt (), который загружает данные из файла .dat, который сохраняет пользователь. Затем у меня есть другие методы в классе bean-компонента, которые используют данные из loadReceipt () для вычисления чисел и сохраняют их в переменных типа double.
Каждая из переменных имеет getMethod, который я вызываю в фабричном классе и добавляю в коллекцию JavaBean, которую использует iReport.
Однако моя проблема в том, что когда я перетаскиваю поля в свой шаблон PDF и просматриваю его в Netbeans, я получаю ошибки «Файл не найден» для файла .dat, который нужен классу компонента, и поэтому поля всегда равны 0,0.
Вот отрывок из моего урока по компонентам:
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;
}
Любой мой класс Factory:
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. Действительно был бы признателен за помощь в этом!