我想在我的 JavaFX 中创建“文件夹”节点TreeView
可展开和折叠但是不可选择.
I found 这次讨论 https://community.oracle.com/thread/2346878并调查了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
检查是必要的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)