JavaME的Canvas的paint(Graphics g)方法是怎么被调用的?
1个回答
展开全部
被Midlet的运行环境中的显示设备DisplayDevice,在另一个线程中调用。
类似于
Displayable d=myDevice.getCurrentDisplayable();//得到当前的Displayable并显示
d.paint(myDevice.getGraphics());//画在设备上
=====
这些不会暴露给软件开发者....
类似于
Displayable d=myDevice.getCurrentDisplayable();//得到当前的Displayable并显示
d.paint(myDevice.getGraphics());//画在设备上
=====
这些不会暴露给软件开发者....
追问
哦,有道理,那是在什么时候被调用呢?Canvas构造函数之后?
追答
不是在构造之后,Canvas是Displayable的子类。
调用在显示设备display.setCurrent(displayable); 之后
在专用的“显示线程”的下一个显示周期时开始绘制时调用。
不会在setCurrent后立即调用,setCurrent只负责传值,会立即返回,不会导致主线程堵塞。paint等显示线程就绪的时候才调用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询