как перерисовать поле? - PullRequest
       3

как перерисовать поле?

0 голосов
/ 08 декабря 2011

Я пытаюсь реализовать свой собственный индикатор выполнения. У меня есть конструктор, который вставляет мой индикатор выполнения и метод для его рисования:

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

но это ничего не рисует. Я что-то пропустил? Как перерисовать поле?

1 Ответ

0 голосов
/ 08 декабря 2011

просто позвоните, чтобы сделать недействительным, и это должно перекрасить экран.

, поэтому замените this.paint(g) на invalidate();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...