Заполнение прямоугольника - Метод краски (MIDP)

StackOverflow https://stackoverflow.com/questions/4796799

  •  24-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь медленно покрасить прямоугольник, используя два вызова метода. Что происходит, так это то, что метод сна вызывается до того, как инициализируется прямоугольник, поэтому, похоже, что прямой вариант уже был нарисован. Я просто хочу нарисовать часть рекса, паузу в течение пяти секунд, а затем покрасить антиоборотную часть.

Вот мой код -

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

Спасибо

Это было полезно?

Решение

Это всегда очень плохая идея, чтобы заблокировать потока событий, независимо от того, какая платформа.

То, что вы должны делать, - это определение переменных где -то, которые хранят текущую степень области, которую вы хотите нарисовать. Обновите эти переменные в отдельном потоке (вы можете заблокировать этот поток все, что вы хотите) и вызовите метод Repaint (), чтобы запланировать перекрашение при обновлении переменных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top