2016-11-16 49 views
1

我想知道顯示器上有多少組件可見。 理想情況下,Component.getVisibleBounds()方法返回組件邊界和可見矩形的交集,如果它根本不可見,則返回null - 如果父容器是可滾動的並且只有父容器的一部分滾動到視圖中。確定屏幕上有多少組件可見

這應該是可能的,因爲Container類支持諸如方法getComponentAt之類的東西,它顯然甚至通過確定哪些組件可見來優化繪製子組件。但我似乎無法弄清楚如何計算可見的矩形。

回答

0

繪畫時,我們使用裁剪邊界來確定可見區域並減少/消除不必要的繪畫調用。這對於快速性能至關重要。

在油漆過程中,我們並不真正知道什麼是可見的,哪些不可以,只是裁剪。因此,一個組件可能會被遮擋或滾動到一半,我們在此階段不會知道。

相關問題