主题:小妹初学java请各位指教 有关repaint()和paintCompenent()的问题
tqiuyan
[专家分:0] 发布于 2007-11-12 12:08:00
请问repaint()的作用是什么?
请问paintComponent()到底是什么时候自动调用
回复列表 (共3个回复)
沙发
sjhlovejava [专家分:1690] 发布于 2007-11-12 12:39:00
repaint
public void repaint(Rectangle r)如果要显示该组件,则将指定的区域添加到脏区列表。调度完当前所有未完成的事件后重新绘制该组件。
参数:
r - 包含脏区的 Rectangle
paintComponent
protected void paintComponent(Graphics g)如果 UI 委托为非 null,则调用该 UI 委托的 paint 方法。向该委托传递 Graphics 对象的副本,以保护其余的 paint 代码免遭不可取消的更改(例如 Graphics.translate)。
如果在子类中重写此方法,则不应该对传入到 Graphics 中的内容进行永久更改。例如,不应更改剪裁矩形 或修改转换。如果需要进行这些操作,您会发现根据传入的 Graphics 创建一个新 Graphics 并操作它会更容易一些。另外,如果不调用超类的实现,则必须遵守不透明属性,也就是如果此组件是不透明的,则必须以透明的颜色完全填充背景。如果不遵守不透明属性,则很可能看到可视化的人为内容。
传入的 Graphics 对象可能具有与该对象上已安装的标识转换所不同的转换。在这种情况下,如果多次应用其他转换,则可能得到不可预料的结果。
参数:
g - 要保护的 Graphics 对象
板凳
Finder [专家分:1460] 发布于 2007-11-15 22:51:00
repaint可以强制调用paint方法。这在一些涉及到绘图方法的时候会用到。
3 楼
justforfun626 [专家分:18460] 发布于 2007-11-15 23:07:00
To LZ:
Can you read javadoc?
If you need an example, you can do a google search on "Java repaint/paintComponent example"
all answers to your need are on your finger tips.
Thanks!
我来回复