是否有类似onFocus()
的方法,可以像视图类中的onDock()
和onCreate()
那样覆盖它?
在文档中,只写了关于live reloading的视图。
我尝试将其与onDock()
和onCreate()
方法结合使用,但是,即使它“有效”,但它并不是复制onFocus
行为的一种很巧妙的方法。
是否有一种简单的方法可以使视图/片段成为焦点/焦点时调用“侦听器”方法?
答案 0 :(得分:2)
View是一个容器,而不是JavaFX上下文中的UI元素,因此它无法接收onFocus
回调。但是,您可以向当前窗口甚至视图的根节点注册一个。如果要打开窗口,则可以使用currentWindow
属性注册一个偶数。如果您不打开窗口,则可以使用视图的root
属性进行注册。这是一个监听currentWindow
中的单个焦点更改事件的示例:
override fun onDock() {
currentStage?.focusedProperty()?.onChangeOnce {
}
}