如何使某些JavaFX TreeView节点不可选择?

问题描述 投票:3回答:2

我想使JavaFX TreeView中的“文件夹”节点可扩展和可折叠,但不可选择

我找到了this discussion并调查了EventFilter,但似乎没有任何与EventType选择更改相对应的TreeView。第二个建议是定制选择模型,这听起来像是对我的深入了解。因此,我是否坚持允许选择事件触发我的侦听器,然后对其中的垃圾进行分类?

javafx treeview
2个回答
4
投票

这有点hacky,但是我最终还是这样:

table.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
    if (newValue != null && !newValue.isLeaf()) {
        Platform.runLater(() -> table.getSelectionModel().clearSelection());
    }
});

对我来说,单击非叶节点时只需清除选择就足够了。但是,重新选择oldValue参数并不难,但要知道这会再次触发更改事件(clearSelection调用也是如此,这就是为什么需要newValue != null检查的原因。) >


0
投票

这里有类似的问题:

© www.soinside.com 2019 - 2024. All rights reserved.