日期:2014-05-20  浏览次数:20556 次

paint和paintComponent做什么用的,有什么区别?
感觉好象差不多,是吗?

------解决方案--------------------
看源代码,paintComponent 被 paint 调用。
------解决方案--------------------
repaint 通知 AWT 线程要求重新绘制界面图像,AWT 线程会去调用 paint 方法再由 paint 在内部调用 paintComponent 方法完成组建重绘。
------解决方案--------------------
一般来说当你想在AWT组件上进行绘制时,你可以重新实现paint函数,像我们在Applet Canvas上绘制,需要实现paint函数
如果想在Swing组件上进行绘制,我们往往重新实现paintComponent方法(这个方法AWT组件没有),在需要刷新的时候系统会调用paint函数,paint函数内部又调用paintComponent函数(paint内部一共会调三个,还有一个负责边框绘制,还有一个忘了)

AWT上的绘制默认不支持双缓冲,而Swing组件默认支持