JFC 中绘制方法 paint(Graphics g) 和 paintComponent(Graphics g) 的区别(转)
2008-09-18 18:00
393 查看
AWT 和 Swing 中组件的绘制方式不同,绘制方法的实现也有区别。
AWT 中组件重绘时先调用 update(Graphics g) 清除以前绘制的,再调用 paint() 方法里进行绘制,所以在 AWT 组件里重绘时,只要简单的覆写 paint() 方法就可以了。
而
在Swing 中,组件绘制 paint() 方法会依次调用
paintComponent(),paintBorder(),paintChildren()
三个方法。根据方法名就可以看出,paintComponent() 绘制组件本身,paintBorder()
绘制组件的边框,paintChildren() 绘制组件的子组件,所以Swing 编程时,如果继承 JComponent
或者其子类需要重绘的话,只要覆写 paintComponent() 而不是 paint(),方法
paintBorder(),paintChildren() 一般默认即可。
AWT 中组件重绘时先调用 update(Graphics g) 清除以前绘制的,再调用 paint() 方法里进行绘制,所以在 AWT 组件里重绘时,只要简单的覆写 paint() 方法就可以了。
而
在Swing 中,组件绘制 paint() 方法会依次调用
paintComponent(),paintBorder(),paintChildren()
三个方法。根据方法名就可以看出,paintComponent() 绘制组件本身,paintBorder()
绘制组件的边框,paintChildren() 绘制组件的子组件,所以Swing 编程时,如果继承 JComponent
或者其子类需要重绘的话,只要覆写 paintComponent() 而不是 paint(),方法
paintBorder(),paintChildren() 一般默认即可。
相关文章推荐
- JFC 中绘制方法 paint(Graphics g) 和 paintComponent(Graphics g) 的区别
- paint方法和paintComponent的区别
- java中组件的paint(Graphics g)与paintComponent(Graphics g)的区别
- paint().paintComponent()方法的区别
- paint()方法与paintComponent()方法的区别
- Java,paint() repaint() paintComponent() update()这些方法的区别是什么?
- Swing编程方面步骤之三JFrame、JPanel、paint与paintComponent的区别
- paint()与paintComponent()的区别
- android.graphics.Paint方法setXfermode (Xfermode x...
- Swing之paint与paintComponent的区别
- Swing paint和paintComponent方法的关系
- java的Frame和JFrame中的paint方法区别
- Java paint与paintComponent的区别与联系
- C#中Form的Paint事件响应方法与重载虚方法OnPaint()的区别
- Container.paint(Graphics g) 方法 -Java学习笔记(34)
- android.graphics.Paint方法setXfermode (Xfermode x...
- 图形绘制Canvas类的方法save()和restore()的区别
- 【Swing】paint与paintComponent的区别
- java--Swing之paint与paintComponent的区别
- paint和paintComponent方法的关系