我想让 JavaFX 中的“文件夹”节点TreeView
可扩展和可折叠,但不可选择。
我找到了此讨论并进行了研究EventFilter
,但似乎没有任何EventType
与TreeView
选择更改相对应的内容。第二个建议是自定义选择模型,对我来说听起来像是一个深入的研究。那么,我是否卡住了允许选择事件触发我的侦听器,然后对那里的垃圾进行排序?
这有点hacky,但我最终是这样做的:
table.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
if (newValue != null && !newValue.isLeaf()) {
Platform.runLater(() -> table.getSelectionModel().clearSelection());
}
});
Run Code Online (Sandbox Code Playgroud)
对我来说,单击非叶节点时清除选择就足够了。然而,重新选择参数应该不难oldValue
,但要注意这将再次触发更改事件(调用也是如此clearSelection
,这就是为什么newValue != null
需要检查)。
归档时间: |
|
查看次数: |
2091 次 |
最近记录: |