【发布时间】:2015-01-07 21:30:09
【问题描述】:
我想要一个 TreeView,它的所有子项都永久展开,并且我不希望用户能够展开或折叠任何子项。
为此,我发现我需要执行以下操作:
- 使用 CSS 移除图标(完成)
- Change expand and collapse image TreeView JavaFX 2.2
- [编辑] 上面的链接应该用来改变图像;要完全删除,请使用此解决方案:https://stackoverflow.com/a/27831191/4430591
- 删除双击功能(完成)
- [编辑] 移除使用键盘箭头键折叠/展开的功能(完成)
- 在下面 José Pereda 的解决方案中给出 (https://stackoverflow.com/a/27831085/4430591)
- [编辑] 删除右键单击上下文菜单的功能(完成)
- 在下面 José Pereda 的解决方案中给出 (https://stackoverflow.com/a/27831085/4430591)
- 移除图标的可点击性(我该怎么做?)
即使图标不再可见,它仍然可以点击。我看不出有任何过滤方法;我只看到了能够在事后做出回应的方法。
另外,如果我缺少确保此功能所需的任何其他操作,请告诉我。
【问题讨论】:
-
树项目是否有任何功能(即可以通过一些自定义操作单击它们)?
-
是的;我实现了一个自定义 TreeCell 并将其设置为我的单元工厂。我不关心能够开始/取消/提交编辑,因为我的每个 TreeCell 的图形都是一个 FlowPane,其中包含用于单元格显示的各种底层模型的各种 ComboBox 和其他控件。我仍然希望他们能够点击、突出显示和拖动。
-
有没有办法用 CSS 移除折叠按钮的整个点击阶段?我什至会在这一点上解决这个问题......
-
CSS 只是定义了视图,但你想改变行为。如果你能提供你自己的皮肤实现......
TreeCellSkin扩展了TreeCellBehavior,最后,它是处理通过handleClicks和handleDisclosureNode的所有点击的类。但我不确定你想去那里......
标签: javafx treeview collapse disabled-control disclosure