类javax.swing.CellRendererPane
“插入到单元格渲染器和使用它们的组件之间”并且“只是为了阻止 repaint() 和 invalidate() 方法而存在,否则它们会传播配置渲染器后在树上向上。”
JavaDoc 就是这么告诉我的,但这是什么意思呢?它是如何使用的,如果允许 repaint()
和 invalidate()
向上传播树会发生什么?特别欢迎具体示例。
最佳答案
这意味着它被插入到组件树的中间( Root 于顶层窗口)并且会吃掉某些事件,例如重新绘制和无效以防止它们在组件包含层次结构中传播。
为什么?因为重新绘制和无效是处理成本高昂的事件;在这种情况下没有必要;一个简单的组件( Pane )就可以轻松过滤它们。如果事件要传播,那么每个组件都将不必要地重新计算其布局(无效)并重新绘制(重绘)本身。
关于java - CellRendererPane 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837158/