从“停止JavaFX TreeView”;“跳跃”;当项目展开时

从“停止JavaFX TreeView”;“跳跃”;当项目展开时,javafx,Javafx,我创建了一个简单的JavaFXTreeView。当我在树状视图中展开一个项目时,我展开的项目会向上“跳跃”,为展开的项目腾出空间,有时甚至会将展开的项目推过可视空间的顶部 我不想让它那样做。我希望我点击的项目保持在完全相同的位置 以下是一幅说明问题的图像: 这似乎是因为滚动窗格保持总高度的相同百分比,并且列表的大小已更改,因此相同百分比现在位于相对于突出显示项目的不同位置 有没有办法告诉树视图除了展开操作之外不要进行任何滚动 发生这种情况是因为这是标准行为(至少在win中,请参阅explore

我创建了一个简单的JavaFXTreeView。当我在树状视图中展开一个项目时,我展开的项目会向上“跳跃”,为展开的项目腾出空间,有时甚至会将展开的项目推过可视空间的顶部

我不想让它那样做。我希望我点击的项目保持在完全相同的位置

以下是一幅说明问题的图像:

这似乎是因为滚动窗格保持总高度的相同百分比,并且列表的大小已更改,因此相同百分比现在位于相对于突出显示项目的不同位置


有没有办法告诉树视图除了展开操作之外不要进行任何滚动

发生这种情况是因为这是标准行为(至少在win中,请参阅explorer):其目的是在保持父对象可见的同时,尽可能多地显示新扩展的子对象。若要更改,您很可能(从未尝试过)使用自定义树。在windows 7的资源管理器中,查看同一组文件夹时,我不会得到相同的行为。windows方法似乎是:展开文件夹时,不要移动展开的项目。但是,如果子列表将推离屏幕底部,请将展开的项目向上移动以为它们腾出空间,但决不要将其推过窗口顶部。这将是一个很好的行为,但这并没有做到这一点。在javafx的treeview中,项目总是向上移动,甚至可以推过窗口的顶部。。您的屏幕截图似乎显示了您在评论中描述为“很棒”的状态,如果子列表将推离屏幕底部,则将展开的项目向上移动以腾出空间,如果展开的父项目可以推离顶部,或者如果有足够的空间容纳完整的子列表(在fx中),则将其移动,我会认为这是一个你可能会报告的bug。好吧,看起来皮肤没有什么特殊的东西来保持滚动位置崩溃/扩展。只需在流上触发一个重建单元,以决定它们显示的位置。看来还有很多工作要改进。是的,我今晚晚些时候会用更好的截图和叙述来改进我的帖子。我用图片突出显示的示例实际上不是问题,尽管存在严重的问题。