在JavaFX TableView中平滑滚动

我正在使用TornadoFX在Kotlin上编写一个小型的聊天应用程序,这个程序到目前为止都是有效的。
我正在尝试使它在接收新消息时更具视觉吸引力。
消息在一个TableView (发送者 – 消息),但滚动到新的消息是不平稳的,我想。

我需要帮助的片段相对较短:

 addEventHandler(ScrollToEvent.ANY) { it.consume() timeline { val keyValue = KeyValue(/* property to change */, /* target value */, Interpolator.EASE_OUT) keyframe(0.25.seconds) { this.plusAssign(keyValue) } } } 

一般来说,我需要帮助确定哪些属性需要更改以及目标应该在这一行中:

 KeyValue(/* property to change */, /* target value */, Interpolator.EASE_OUT) 

好的,我找到了解决方案。 需要查找TableView提供的ScrollBar ,一旦有足够的行(当滚动实际上做什么)。

从TornadoFX的JavaFX同步滚动跨浏览器 ,我调整了查找,并提出了这个,工作,代码:

 addEventHandler(ScrollToEvent.ANY) { it.consume() timeline { val scrollBar = lookupAll(".scroll-bar").first() as ScrollBar val keyValue = KeyValue(scrollBar.valueProperty(), scrollBar.max, Interpolator.EASE_OUT) keyframe(0.5.seconds) { this.plusAssign(keyValue) } } }