想要调用repaint()方法 怎么办
发布网友
发布时间:2022-04-12 15:06
我来回答
共2个回答
热心网友
时间:2022-04-12 16:36
repaint()既重绘:他会通过update()调用paint();
比如你继承了Canvas,然后重写paint(),程序会自动来调用paint().可是如果你就这么不去调用repaint(),那么你在paint()里绘制的东西就不会再改变(paint()被调用了一次)。随之你可以通过调用repaint(),来重新调用paint()来实现重新绘制,这样paint()里你绘制的东西不就可以改变啦!
例:你首先通过一个变量“a”,在paint()里绘制了一个“1”;
再通过别的方法改变变量"a"为“2”,这样现在在paint()里绘制的应该是一个“2”;
但是,如果你没有调用repaint(),那么他还是“1”.
这样应该可以明白吧。。。
热心网友
时间:2022-04-12 17:54
http://zhidao.baidu.com/question/255080121.html
请查阅!
是我以前回答的一个关于paint()和repaint()的关系!
补充:1.repaint(),你可以在继承了Canvas的类中或对继承了Canvas的对象进行调用。
2.repaint(),一般在主线程中调用。
例:你可以在有一个类MainCanvas extends Canvas implements Rnnable{}
那么你可以在重写run()方法中调用repaint(),这样线程转一圈就会调用一次 repaint(),屏幕画面也就刷新一次。
3.你也可以在任一方法中或通用MainCanvas对象来调用。
例:你想让按一下键就调用一次,你可以这样keyPressed(int keyCode){repaint();......} 或 keyReleased(int keyCode){repaint();......}