加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java JTree – 如何检查节点是否显示?

发布时间:2020-12-15 08:33:35 所属栏目:Java 来源:网络整理
导读:寻找如何遍历JTree(可以这样做)并检查每个节点是否显示(对用户)或不可见.不能相信JTree没有这个功能,也许我错过了什么? 解决方法 你必须考虑两件事: 关闭其中一个父节点可以隐藏节点.即使父母在屏幕上可见,但孩子却不是.使用JTree.isVisible()就可以了. 如
寻找如何遍历JTree(可以这样做)并检查每个节点是否显示(对用户)或不可见.不能相信JTree没有这个功能,也许我错过了什么?

解决方法

你必须考虑两件事:

>关闭其中一个父节点可以隐藏节点.即使父母在屏幕上可见,但孩子却不是.使用JTree.isVisible()就可以了.
>如果节点被展开,它可能会被隐藏,因为它被滚动到当前的viewport之外.这不是在JTree中处理的,而是在包装树的JScrollPane中处理的.确定节点是否位于视口的可见区域中.

要确定#2是否为true,必须获取节点使用的矩形JTree.getPathBounds().然后,必须将此矩形与视口相交(使用scrollPane.getViewport().getViewRect().如果nodeRect.intersects(viewRect)返回true,节点可见.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读