2011-01-25 98 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