Я пытаюсь реализовать свой собственный индикатор выполнения. У меня есть конструктор, который вставляет мой индикатор выполнения и метод для его рисования:
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);
}
но это ничего не рисует. Я что-то пропустил? Как перерисовать поле?