創建對象及其聲明的字段的JTree的,我需要動態的JTree其中節點將對象和在節點展開,我會用反射來獲得聲明的字段。所有非原始字段將再次成爲節點,依此類推,遞歸。與反思
因此,這裏是我的樹節點類的簡短說明:
public TreeNode(Object o){
this.name = o.getClass().getSimpleName();
this.treeobjectclass = o.getClass();
this.isbranch = isBranchObject();
this.properties = initializePropertiesMap();
this.children = //here i will get children with getDeclared fields and
//instantiate new TreeNode for nonprimitive ones
}
問題:
當通過孩子做遞歸實例化,如何避免一個問題,當我碰到一個孩子構造函數要求參數的類?
如果我也許路過類參數,而不是對象爲構造?
- 如果我這樣做,如果以後我需要得到這個類的對象,我嘗試用class.getConstructor - 再次,我沒有參數。
如何擺脫這種詛咒的循環?我是全新的反思。任何類似工作的例子?
謝謝
背後有什麼使用反射這樣做的動機是什麼?也許_architechture_可以自然地爲你解決這些問題。 – 2011-02-05 20:28:32
@JohanSjöberg:使用反射的原因是jtree會有複選框,當單擊某個節點/葉子上的複選框時,字段名稱將用於動態查詢生成。我很抱歉你能解釋「建築」嗎?我不熟悉它。 Thanx – Julia 2011-02-05 20:32:38