【发布时间】:2014-06-19 18:21:54
【问题描述】:
我试图弄清楚如何将任务的进度属性绑定到任务的调用函数中使用的对象的属性。
从概念上讲,我有一个对象可以完成一定量的工作并通过 DoubleProperties 公开其进度。由于我想在 JavaFX 主线程之外执行此(长时间运行)任务,因此我想将其包装在 Task 对象中并能够显示底层对象的进度。然而,更新任务进度的唯一方法似乎是通过 updateProgress() 方法,该方法采用具体数字而不是 Observables。同样,progressProperty 公开为 ReadOnlyDoubleProperty,所以我不能那样设置属性,也不能重写 progressProperty() 方法来返回我想用来显示进度的属性。
更具体地说,这是我想做的:
final FooBuilder builder = new FooBuilder();
Task<Void> task = new Task<Void>() {
@Override
protected Void call() throws Exception {
//
// bind to FooBuilders progress property here...but how?
// Progress of doLongBuildThing is reflected in an exposed
// DoubleProperty in the FooBuilder class.
//
//
builder.doLongBuildingThing();
return null;
}
};
这似乎是一个基本的事情,它应该很容易,但我没有看到一个简单的方法来完成它。任何帮助,将不胜感激。
TIA。
- chooks
【问题讨论】: