我想使用 Java 制作一个 GUI,用户可以在其中选择一个 bean,编辑它的字段,然后将创建的 bean 的一个实例添加到队列中。我的问题是关于访问这些字段。我有一个继承自 MyParentObject 的类 MyCompositeObject。MyParentObject 由多个 bean 组成,每个 bean 由多个 bean 组成。MyCompositeObject 类也由 bean 组成。我想从 MyCompositeObject 中找到所有可访问的字段。
Class MyParentObject
{
MyObjectOne fieldOne;
MyObjectTwo fieldTwo;
String name;
...
}
Class MyCompositeObject extends MyParentObject
{
MyObjectThree fieldThree;
Integer number;
...
}
Class MyObjectThree
{
boolean aBoolean;
MyObjectFour fieldFour;
...
}
我一直在尝试使用 BeanUtils api,但在尝试获取所有成员 bean 的字段时遇到了困难。我想象的是深度优先搜索可以从 MyCompositeObject 实例访问的所有字段。例如,这将包括但不限于以下字段:MyCompositeObject.fieldOne、MyCompositeObject.number、MyCompositeObject.fieldThree.aBoolean。
当我尝试时,我意识到:
Fields[] allFields = BeanUtils.getFields(myCompositeObject);
我在我的头上。到目前为止,我的研究还没有发现任何可以做我描述的预建方法。请让我知道任何可以执行此操作的 API 方法,或者告诉我如何构建自己的方法。谢谢。