如何使某些JavaFX TreeView节点不可选择?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使某些JavaFX TreeView节点不可选择?相关的知识,希望对你有一定的参考价值。
我想使JavaFX TreeView
中的“文件夹”节点可扩展和可折叠,但不可选择。
我找到了this discussion并调查了EventFilter
,但似乎没有任何与EventType
选择更改相对应的TreeView
。第二个建议是定制选择模型,这听起来像是对我的深入了解。因此,我是否坚持允许选择事件触发我的侦听器,然后对其中的垃圾进行分类?
答案
这有点hacky,但是我最终还是这样:
table.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) ->
if (newValue != null && !newValue.isLeaf())
Platform.runLater(() -> table.getSelectionModel().clearSelection());
);
对我来说,单击非叶节点时只需清除选择就足够了。但是,重新选择oldValue
参数并不难,但要知道这会再次触发更改事件(clearSelection
调用也是如此,这就是为什么需要newValue != null
检查的原因。) >
另一答案
这里有类似的问题:
以上是关于如何使某些JavaFX TreeView节点不可选择?的主要内容,如果未能解决你的问题,请参考以下文章
JavaFX TreeView:删除展开/折叠按钮(披露节点)和功能
C# winform treeview 节点展开状态的图标设置