2011-12-08 11 views
0

自分の進行状況バーを実装しようとしています。私はそれが私の進行状況バーと方法INITSそれを描画するために、コンストラクタを持っている:フィールドを再描画する方法は?

protected void paint(Graphics graphics) 
    { 
     g = graphics; //remember graphics to redraw it later 
     ResizeImage r = new ResizeImage(); 
     Picture = r.sizeImage(Picture, Width, Height); 
     graphics.drawBitmap(1, 1, Width, Height, Picture.getBitmap(), 0, 0); //dwaring background 

     Cursor = r.sizeImage(Cursor, Height, Height); 
     graphics.drawBitmap(1+(Width-Height*2)*Progress/(Maximum - Minimum), 1, Height, Height, Cursor.getBitmap(), 0, 0); //drawing cursor 
    } 

ので、そのクラスは、任意のカーソル位置で私のプログレスバーを描画します。それ以来、すべての作品は完璧です。 私は別の場所にカーソルを設定するには、私のプログレスバーを再描画するメソッドがあります。

public void SetProgress (int p) { 
     Progress = p; 
     if (Progress<Minimum) Progress = Minimum; 
     if (Progress>Maximum) Progress = Maximum; 
     this.paint(g); 
    } 

を、それは何も描画しません。何か不足していますか? フィールドを再描画する方法は?

答えて

0

単にinvalidateを呼び出すと、画面を再描画する必要があります。

this.paint(g)invalidate();

に置き換えます
関連する問題