2011-01-25 90 views
2

我试图用两次调用每个方法之间的Thread.sleep调用.fillrect方法来缓慢绘制一个矩形。发生什么事是在矩形初始化之前调用sleep方法,所以看起来rectange已经被绘制了。我只想绘制一部分rectange,暂停5秒钟,然后绘制另一部分。填充矩形 - 绘画方法(MIDP)

这里是我的代码 -

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); 
} 

感谢

回答

1

它始终是一个非常糟糕的主意,导致事件线程阻塞,不管是什么平台。

你应该做的是定义一些变量来存储你想要绘制的区域的当前范围。在单独的线程上更新这些变量(您可以根据需要阻止该线程),并在更新变量时调用repaint()方法来安排重新绘制。

+0

就像这样:? – 2011-01-25 17:50:13