kotlin - TornadoFX (JavaFX):当视图变得可见时如何执行操作
问题描述
我是 TornadoFX 的新手,无法检测视图是否可见
我的场景是:我有带有自定义菜单项的视图,我已经添加了框架以确保将这些都添加到我的主菜单栏中。如果给定的视图对用户可见,我现在要做的是使这些可见/不可见。我的视图(在这种情况下)是选项卡窗格中选项卡的一部分。如同...
root = tabpane {
tab {
content = MyView.root
...
我努力了
root.focusedProperty().onChange { state -> menu.isVisible = state }
这在我单击视图(在本例中为列表视图)时有效,但当我选择选项卡时,此视图不会自动聚焦。我也试过
root.visibleProperty().onChange { state -> menu.isVisible = state }
但是当通过选择选项卡“显示”视图时此属性不会更改(我假设此属性仅在我手动显示/隐藏视图时设置)
我可以将逻辑移到选项卡本身,但这会破坏封装。
视图不必知道它是选项卡的一部分,并且选项卡不必知道其内容树的一部分需要触发
是否有我可以使用的属性(或其他机制)来检测用户是否可以看到视图,即视图是否位于应用程序的最上方?
作为一个单独的问题,这是正确的方法还是有实现动态菜单的内置方法?- 这是我在 .net WPF 中认为理所当然的事情
解决方案
推荐阅读
- php - 我可以将我的视图传递给 FPDF 以生成 PDF 吗?
- ios - Why it's wrong to init array in this way in Swift?
- python - 使用python确定csv文件中的日期列
- java - java8中如何在LocalDateTime、ZonedDateTime等类中选择Date/Time类?
- python - 将标头值传递给请求库创建会话的异常
- javascript - 从承诺解决返回更新 obj 面临的问题 - Nodejs
- javascript - React Virtualized:集合中的粘性内容
- java - MQTT 单客户端与多客户端
- python - 创建后重新缩放 matplotlib.colorbar 和 matplotlib.contour
- html - 下拉菜单角内的下拉菜单