2011-01-25 23 views
2

各メソッド間でThread.sleep呼び出しを持つ.fillrectメソッドの2つの呼び出しを使用して、長方形をゆっくりペイントしようとしています。起こっているのは、矩形が初期化される前にスリープメソッドが呼び出されているため、矩形が既にペイントされているようです。私はちょうど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

このようなもの:? –

+0

何かのようなもの? –

関連する問題