2011-08-30 64 views
2

我正在使用JasperReports NetBeans插件。
我想提供我的數據作爲bean的集合。
所以我做了兩件事情:
1)實現建立JasperReports的IDE下的NetBeans(iReports)使用它一個非常簡單的工廠類,返回集合
JasperReports JavaBeans設置Datasource,常規錯誤

public class MyFactory { 
    public static Collection<Person> createBeanCollection() { 
     ArrayList al = new ArrayList(); 
     for (int i=0; i<10; i++) {al.add(new Person());} 
    return al; 
    } 

} 

2):
點擊報告數據源圖標,出現「連接/數據源對話框」
點擊新建,選擇JavaBean設置數據源:出現對話框。
在name屬性中寫入任何名稱,MyFactory作爲Factory類,createBeanCollection作爲靜態方法。

但是當你嘗試用按鈕的連接,它提供了:
「一般問題:
MyFactory」

我的下一個測試和線索:
- 寫那並不是一個類名牛逼存在MyFactoryyyy - > ClassNotFound的異常
因此該類位於
- 寫不存在createBeanCollectionnnnn一個靜態方法名 - >常規問題 如此,因爲錯誤是一樣的,問題可能是找到方法。
有什麼想法?

ADDED 如果我使用,作爲類工廠,提供JasperReports的默認採樣類,它似乎工作(連接succeded)。 com.jaspersoft.ireport.examples.SampleJRDataSourceFactory 現在我正在搜索此類的源代碼。

ADDED 一旦重新啓動IDE,問題就會失敗。可能是一個緩存問題。我不會關閉這個問題,而是嘗試重現問題並記錄下來。

回答

1

需要定義空構造:

public MyFactory() {};