【发布时间】:2018-09-14 02:39:45
【问题描述】:
我在父类上的数据绑定有点问题。
这是结构:
class Instrument{
//some more fields
private Entity e;
}
class Equity extends Instrument{
//some fields (not someField)
}
class Entity{
private String someField;
}
我想调用PropertyDescriptor descriptor = PropertyUtils.getPropertyDescriptor(model.getValue(), propertyName);,其中model.getValue()返回一个Equity类型的对象,propertyName指定了字段名(Instrument.e)。
我尝试了各种不同的方法,例如:
super.e.someFielde.someFieldinstrument.e.someFieldsomeField
每一种方法都失败了,但最后一种方法是
java.lang.NoSuchMethodException: Unknown property 'someField' on class 'class Equity'
即使它没有抛出那个异常,它也不会设置任何值,即使有一个值。
所以我的问题是,如何从Equity 向Instrument.e.someField 上的控件添加数据绑定?
【问题讨论】:
-
我只是在这里猜测,但是将字段设置为
protected会改变什么吗? -
你的意思是
someField? -
是的,
Entity e。 -
没有解决。
e.someField上的错误仍然相同,没有错误,但someField上也没有任何价值。它确实在Equity指定的字段上正常工作
标签: java data-binding swt jface