日期:2014-05-20  浏览次数:20640 次

可不可以在Canvas的Command中使用Graphics对象来绘制
比如我在一个Canvas上添加了一个Command,我想点击Command后使用线程挂起的方式来描绘一个个原点,达到在屏幕上动态描点的效果,可是我在CommandActiong中处理的时候好像不能使用Graphics对象,不知道有什么好的解决办法

------解决方案--------------------
command中,对一个类变量状态标签进行修改,然后再在paint方法中判断该状态标签,进行相应的绘图.
command中最后调用repaint.

saltedfish
------解决方案--------------------
上面的做法,需要修改下才可以
1.需要采用缓冲,也就是不在paint中的绘制代码必须绘制到缓冲上
2.在paint中需要把1中提到的缓冲绘制到屏幕上
------解决方案--------------------
可以用静态对象,保留paint()里的Graphics的副本,然后在其他地方调用,再repaint()一下就可以产生效果了。