为什么在使用setColor
方法时Graphics
对象的repaint
会重置?
最佳答案
seen here
当AWT调用此方法时,将为Graphics对象参数预先配置适当的状态以在此特定组件上进行绘制:
Graphics对象的颜色设置为组件的前台属性。
Graphics对象的字体设置为组件的font属性。
设置Graphics对象的平移,使坐标(0,0)表示组件的左上角。
Graphics对象的剪辑矩形设置为需要重新绘制的组件区域。
这意味着每次调用paint / repaint方法时,都会始终将Graphics对象重置为component属性。若要保留您的颜色(setColor),应在组件上而不是在Graphics对象上设置setColor。