据我所知,paint
的{{1}}方法负责在屏幕上呈现整个Panel
。因此,如果我“删除”其Panel
方法,则根本不应呈现任何内容。但是,在以下简单示例中,paint
呈现其Panel
,但我覆盖了其Button
方法。为什么会这样? paint
在哪里呈现?
Button
答案 0 :(得分:0)
在Swing中,可以在不影响其父级的情况下绘制组件,这样做是因为它的效率更高。
重绘管理器决定需要实际重新绘制的内容,通过仅绘制那些组件来优化过程,并在可能的情况下,仅绘制需要绘制的组件的那些部分
考虑一下Painting in AWT and Swing,了解有关绘画如何在Swing中工作的更多细节
AWT组件和Swing组件的绘制方式也存在一些差异