Tornadofx onFocus侦听器

时间:2018-08-16 09:50:14

标签: javafx view kotlin listener tornadofx

是否有类似onFocus()的方法,可以像视图类中的onDock()onCreate()那样覆盖它?

在文档中,只写了关于live reloading的视图。

我尝试将其与onDock()onCreate()方法结合使用,但是,即使它“有效”,但它并不是复制onFocus行为的一种很巧妙的方法。

是否有一种简单的方法可以使视图/片段成为焦点/焦点时调用“侦听器”方法?

1 个答案:

答案 0 :(得分:2)

View是一个容器,而不是JavaFX上下文中的UI元素,因此它无法接收onFocus回调。但是,您可以向当前窗口甚至视图的根节点注册一个。如果要打开窗口,则可以使用currentWindow属性注册一个偶数。如果您不打开窗口,则可以使用视图的root属性进行注册。这是一个监听currentWindow中的单个焦点更改事件的示例:

override fun onDock() {
    currentStage?.focusedProperty()?.onChangeOnce {

    }
}