我想在树中表示我拥有的数据并使用 TreeTableView 显示它。显示的项目包装在一个案例类中:
case class Foo(name: StringProperty, desc:StringPropert) {
def this(_name: String, _desc: String) = this(StringProperty(_name), StringProperty(_dest))
}
填充树是通过(基本上)异步完成的(调用需要时间的外部程序):
val runner = Future {
// run command
}
runner onComplete {
case Success(ret) => // parse ret and update TreeTableView somehow
...
}
由于这是异步完成的,我从树的一个空节点开始:
val ViewPkgs = new TreeItem[Foo](new Foo("root", "desc"))
...
val ViewTable = new TreeTableView[Foo](ViewPkgs) { columns ++= ... }
如何从上面的异步调用更新包列表?
我尝试的是创建一个
val ViewBuf = ObservableBuffer[Foo]()
ViewPkgs.children = ObservableBuffer( ViewBuf.map { p => new TreeItem[Foo](p) } )
但这没有帮助。
感谢您的任何建议。