paint :绘制容器。
paintComponents : 绘制此容器中的每个组件
以上两个方法位于java.awt包里的Container类中
paint :绘制容器。
paintComponents : 绘制此容器中的每个组件
paintBorder :绘制组件的边框
paintChildren :绘制此组件的子组件
以上四个方法位于javax.Swing包中的JComponent类中
可以看出在awt包中和swing包中都有paint与paintComponent方法,但两者是不同的。
在Swing 中,组件绘制 paint() 方法会依次调用 paintComponent(),paintBorder(),paintChildren() 三个方法,所以Swing 编程时,如果继承 JComponent 或者其子类需要重绘的话,只要覆写 paintComponent() 方法而没必要覆写 paint()方法,因为 paintBorder()方法与paintChildren() 方法一般用默认即可。但如果需要重写border与children,当然可以覆写以实现更多的表现样式。
本文介绍了Java中Swing与AWT两种图形用户界面工具包中的绘图机制,重点对比了paint与paintComponents方法在两个包中的不同作用及使用场景,并详细解释了在Swing中如何通过覆写paintComponent方法来实现组件的定制化绘制。
1988

被折叠的 条评论
为什么被折叠?



