在JavaFX 8中,我在选项卡式窗格中有几个选项卡,这些选项卡是根据某些逻辑动态添加的。标签的内容是从FXML加载的。
当选项卡处于活动状态且可见时,必须通过启动任务来填充该选项卡中存在的节点之一。如果选择了其他选项卡,则必须停止此任务。即当标签内容可见时,我应该开始一个任务,如果标签不再可见,我需要停止任务。
我已经尝试将changeListener附加到选项卡中某个Node的visibleProperty,但这不会产生预期的changeEvent。
有什么想法吗?
答案 0 :(得分:0)
将监听器附加到selectedItem
选择模型的TabPane
属性:
tabPane.getSelectionModel()
.selectedItemProperty()
.addListener((obs, oldTab, newTab) -> {
// if oldTab == tab with your node, stop task
// if newTab == tab with your node, start task
});