javafx - Tornadofx onFocus 监听器
问题描述
有没有类似onFocus()
方法的东西,我可以像视图类中的onDock()
and那样覆盖它?onCreate()
在文档中,只写了关于实时重新加载视图的内容。
我尝试将它与onDock()
andonCreate()
方法结合起来,但是,即使它“有效”,它也不是一种非常巧妙的复制onFocus
行为的方式。
是否有一种简单的方法可以在视图/片段进入前面/焦点时调用“侦听器”方法?
解决方案
View 是一个容器,而不是 JavaFX 上下文意义上的 UI 元素,因此它无法接收onFocus
回调。但是,您可以在当前窗口甚至视图的根节点上注册一个。currentWindow
如果您要打开一扇窗户,您可以在该物业上注册这样的一个。如果你没有打开一个窗口,你可以用root
View 的属性注册它。这是一个监听来自的单个焦点更改事件的示例currentWindow
:
override fun onDock() {
currentStage?.focusedProperty()?.onChangeOnce {
}
}
推荐阅读
- vb.net - 填充网页文本框并通过 vb.net 中的 Web 浏览器控件自动提交
- java - CreatePlatformSocket() failed: Operation not allowed (1) during facebook login Android
- python - 理解python for循环语句中的变量声明
- python - ImportError:符号 __res_maybe_init 版本 GLIBC_PRIVATE 未在带有链接时间参考的文件 libc.so.6 中定义
- python - 使用 pyModbus 库中的 diag_message 函数时出现解码错误
- java - 扩大数字范围
- python - 比较 Pandas 中的相对开始日期
- javascript - 如何在字符串中使用变量
- haskell - 使用 Foldl 的总距离
- python - 如何使用数据框中的 startDate 和 endDate 并使用它来过滤 pyspark 中的另一个数据框