2016-11-16 30 views
1

我想知道显示器上有多少组件可见。 理想情况下,Component.getVisibleBounds()方法返回组件边界和可见矩形的交集,如果它根本不可见,则返回null - 如果父容器是可滚动的并且只有父容器的一部分滚动到视图中。确定屏幕上有多少组件可见

这应该是可能的,因为Container类支持诸如方法getComponentAt之类的东西,它显然甚至通过确定哪些组件可见来优化绘制子组件。但我似乎无法弄清楚如何计算可见的矩形。

回答

0

绘画时,我们使用裁剪边界来确定可见区域并减少/消除不必要的绘画调用。这对于快速性能至关重要。

在油漆过程中,我们并不真正知道什么是可见的,哪些不可以,只是裁剪。因此,一个组件可能会被遮挡或滚动到一半,我们在此阶段不会知道。

相关问题