0

我有一个 MyModel 形式的 BaseModelData 的简单扩展,我可以调用new MyModel().getObj1().getObj2()来获取 obj2 的字符串值。我有许多 MyModel 实例,所以我想用每个 MyModel 实例的 obj2 值填充一个 ComboBox 实例。首先,我调用了 ComboBox.setDisplayField("obj1.obj2"),因为使用这种分层属性方法适用于 TextField.setName() 情况。然后,我选择了一个包含所有 MyModel 实例的商店,并通过 setStore() 将其设置为 ComboBox。但是,组合框是空的。看起来通过 ComboBox.setDisplayField() 设置上述属性的方式与为 TextField.setName() 设置的方式不同。我尝试使用我自己的 ListModelPropertyEditor 实例,但没有成功。那么我的选择是什么?

感谢您的时间!!!

4

1 回答 1

0

我不确定从ComboBox.setDisplayField()方法访问分层数据,但你可以通过getObj2()MyModel类中添加一个新方法来实现它,它本质上表示obj1.obj2.

public Obj2 getObj2() {
   return getObj1().getObj2(); //with possible null checks
}

现在您可以打电话ComboBox.setDisplayField("obj2")完成工作了。

于 2013-04-04T13:40:48.837 回答