为什么在使用setColor方法时Graphics对象的repaint会重置?

最佳答案

seen here


  当AWT调用此方法时,将为Graphics对象参数预先配置适当的状态以在此特定组件上进行绘制:
  Graphics对象的颜色设置为组件的前台属性。
  Graphics对象的字体设置为组件的font属性。
  设置Graphics对象的平移,使坐标(0,0)表示组件的左上角。
  Graphics对象的剪辑矩形设置为需要重新绘制的组件区域。


这意味着每次调用paint / repaint方法时,都会始终将Graphics对象重置为component属性。若要保留您的颜色(setColor),应在组件上而不是在Graphics对象上设置setColor。

10-06 15:57