java中repaint(), paint()问题

我在书上看到说当窗口从最大化,最小化状态还原时,或者被其他窗口覆盖,当其他窗口关闭或移开时,系统都会自动重画标准组件的图形图象,而不会自动重画组件上定制的图形,因此需要调用repaint(),这样的话,我很迷惑,绘制标准组件的线程和绘制组件上定制的图形的线程是同一个线程吗?绘制标准组件的方法也是paint(Graphics g)吗?很多程序中需要在组件上绘制图形,要覆盖父类的paint(Graphics g),请问这个paint能绘制标准组件吗?还有一个问题,自定义paint(Grahpics g)方法中经常会在方法中调用super.paint(g),调用父类的paint有什么作用吗?但是有的在paint(Grahpics g)中却没有super.paint(g),请问这个是怎么回事?谢谢大家了

对于标准组件,比如按纽等,有个awt线程负责控制,不用我们来处理,这就是你说的系统自动重画.
而对于自己画的东西,比如画布(canvas)、自定义的图象等,则需要自己写程序去控制(repaint)。而自定义图象的绘画就在paint方法中
标准组件一般是用3d画图的。
温馨提示:答案为网友推荐,仅供参考
相似回答