gpt4 book ai didi

java - 自动扩展 JTree 直到满足高度阈值

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:55 25 4
gpt4 key购买 nike

我在 JScrollPane 上有一个 JTree,作为我的 GUI 的一部分。我已经设置了一个 AncestorListener,在其中响应 AncestorAdded 事件。在这种情况下,我想自动扩展尽可能多的可见节点。 可见,我的意思是我想要扩展尽可能多的节点,以使树的总高度不超过 JScrollPane 视口(viewport)的最大高度。如果我的视口(viewport)有 500 像素的可见空间,我希望树展开直到总展开高度小于或等于 500 像素。

我尝试通过几种不同的方式来实现这一目标。归结为:以编程方式扩展节点后,我似乎无法检索树的更新高度。如何重新计算树的高度?例如,tree.getHeight() 即使在展开节点后也始终返回相同的值。在计算之间调用 tree.invalidate() 也没有帮助。

最佳答案

How can I recalculate the height of the tree?

也许 getVisibleRowCount() * getRowHeight() 将为您提供正确的尺寸。

getRowHeight() 的文档指出它可能会返回 <= 0并将行高留给渲染器,当您使用 JTreeTable 时可能会遇到这种情况。

关于java - 自动扩展 JTree 直到满足高度阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com