我正在尝试使用两个.fillrect方法调用,并在每个方法之间调用Thread.sleep,慢慢地绘制一个矩形。发生的情况是在矩形初始化之前调用了睡眠方法,所以看起来矩形已经被绘制了。我只想画出矩形的一部分,暂停五秒钟,然后再画另一部分。
这是我的代码-
public void paint(Graphics g, int w, int h) {
g.drawRect(0, 0, w - 1, h - 1);
g.fillRect(0, 0, 10, h-1);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
g.fillRect(0, 0, 50, h-1);
}谢谢
发布于 2011-01-26 01:33:00
无论平台是什么,导致事件线程阻塞总是一个非常糟糕的想法。
你应该做的是在某个地方定义变量来存储你想要绘制的区域的当前范围。在单独的线程上更新这些变量(您可以根据需要阻止该线程),并在每次更新变量时调用repaint()方法来安排重新绘制。
https://stackoverflow.com/questions/4796799
复制相似问题