【问题标题】:Setting javafx Property via reflection通过反射设置 javafx 属性
【发布时间】:2019-02-28 00:53:33
【问题描述】:

尝试通过反射(ORM 案例)为可观察属性设置一个值。

public class TestVAO
{
        private Property<Long> id = new SimpleObjectProperty<>();
}

此代码不起作用。正确的方法是什么?

    if (field.getType().isAssignableFrom(Property.class))
    {
        field.setAccessible(true);
        field.set(obj, value);
    }

【问题讨论】:

  • “不工作”是什么意思?如果出现异常,请编辑您的代码并包含其完整的堆栈跟踪。

标签: java data-binding javafx-8 javabeans


【解决方案1】:

这成功了。这是正确的做法吗?

@SuppressWarnings("unchecked")
final Property<Object> property  = (Property<Object>)field.get(obj);
property.setValue(value);

【讨论】: