类javax.swing.CellRendererPane"插入在单元格渲染器和使用它们的组件之间"和"只是存在以阻止repaint()和invalidate()方法,否则这些方法会在配置渲染器时向上传播."
这就是JavaDoc告诉我的内容,但这是什么意思?它是如何使用的,如果会发生什么,repaint()并且invalidate()被允许,而不是传播上树?具体的例子特别受欢迎.
这意味着它被插入到组件树的中间(以顶层窗口为根)并将吃掉某些事件,例如重绘和无效,以防止它们传播到组件包含层次结构中.
为什么?因为重绘和无效是可能需要处理的昂贵事件; 在这种情况下没有必要; 一个简单的组件(窗格)可以轻松过滤它们.
如果事件要传播,那么每个组件都会不必要地重新计算它们的布局(无效)并重绘(重绘)它们自己.
| 归档时间: |
|
| 查看次数: |
1331 次 |
| 最近记录: |