0

我想在树中表示我拥有的数据并使用 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) } )

但这没有帮助。

感谢您的任何建议。

4

0 回答 0