g****y 发帖数: 323 | 1 看来我以前的入手点错了,发文问了很多关于paint()的问题,还有
关于在另外一条Thread上paint的问题,真是愚昧。
这几天被paint()搞得焦头烂额,看了很多关于Thread的东东,觉
得自己懂了,一出来repaint()就写菜。坐下心来,把每一个Thread
打了出来,DD.
paint()是在awt的Thread上,和自己创建的Thread没有关系,自己的
Thread如果在repaint()后休息sleep的足够就的话,awt-queue就执
行,如果休息短了,可能跳过,所谓在另外的Thread上paint()不过
是个错误的提法,最总还是要在awt上执行。
假如thread1, thread2, thread1.start(), thread2.start(),两个
都有paint(),
则由于两者的paint()都在同一个awt-queue上,所以很有可能一个的
执行了,一个没有执行。这个我已经通过在一个Frame里加两个Runna
ble的Panel, Panel里包含paint(),来做了验证,当我休息的比较合
适的时候,其中一个执行大部分的paint(),而 |
|