当我使用setColor
方法时,为什么Graphics
对象的repaint
会重置?
答案 0 :(得分:2)
当AWT调用此方法时,Graphics对象参数已预先配置为适合绘制此特定组件的状态:
Graphics对象的颜色设置为组件的foreground属性。
Graphics对象的字体设置为组件的font属性 设置Graphics对象的转换,使得坐标(0,0)表示组件的左上角。
Graphics对象的剪辑矩形设置为需要重新绘制的组件区域。
这意味着每次调用paint / repaint方法时,您的Graphics对象始终会重置为组件属性。要保留Color(setColor),你应该在组件上而不是在Graphics对象上设置setColor。
答案 1 :(得分:0)
我猜你是在覆盖paint(Graphics)
(或可能是update
),而不是总是在那里设置颜色。 Component
从其自己的设置中设置Graphics
对象的颜色(和字体)。您收到的Graphics
对象不太可能是从一个画到另一个画的同一个。
答案 2 :(得分:0)
您可以绘制图像。如果是这样:在绘制图像后,颜色将默认设置恢复为Color.BLACK